PHP編程實(shí)戰(zhàn)14-16

<!--PHP編程實(shí)戰(zhàn)-->
<!--XML -->
<!--14-16-->
<!--使用SimpleXML生成基本的XML文檔-->
<?php
$dogs_array = array(
    array("name" => "snoopy",
        "color" => "brown",
        "breed" => "beagle cross"
    ),
    array("name" => "jade",
        "color" => "black",
        "breed" => "lab cross"
    ),
);
$cats_array = array(
    array("name" => "teddy",
        "color" => "brown",
        "breed" => "tabby"
    ),
);

//從根節(jié)點(diǎn)開(kāi)始生成xml
$animals = new SimpleXMLElement('<animals/>');

$cats_xml = $animals->addChild('cats');
$dogs_xml = $animals->addChild('dogs');

foreach ($cats_array as $c) {
    $cat = $cats_xml->addChild('cat');
    foreach ($c as $key => $value) {
        $tmp = $cat->addChild($key);
        $tmp->{0} = $value;
    }
}
foreach ($dogs_array as $c) {
    $dog = $dogs_xml->addChild('dog');
    foreach ($c as $key => $value) {
        $tmp = $dog->addChild($key);
        $tmp->{0} = $value;
    }
}

var_dump($animals);
$animals->asXML('animals.xml');

$animals_dom = new DOMDocument('1.0');
$animals_dom->preserveWhiteSpace = false;
$animals_dom->formatOutput = true;
//返回DOMElement
$animals_dom_xml = dom_import_simplexml($animals);
$animals_dom_xml = $animals_dom->importNode($animals_dom_xml, true);
$animals_dom_xml = $animals_dom->appendChild($animals_dom_xml);
$animals_dom->save('animals_formatted.xml');
print '<br/><br/>';
//
var_dump(simplexml_load_file('animals.xml'));
?>

知識(shí)點(diǎn)

  • 使用 new SimpleXMLElement('<animals/>');創(chuàng)建了一個(gè)新的SimpleXMLElement元素.為了自頂層元素向下依次填充文檔,通過(guò)調(diào)用addChild來(lái)創(chuàng)建子元素,并將一個(gè)引用存儲(chǔ)到新建的元素.
  • 通過(guò)元素的引用,就可以添加子元素.重復(fù)這個(gè)過(guò)程,可以生成一個(gè)完整的節(jié)點(diǎn)樹(shù).
  • 輸出函數(shù)asXML不能很好地格式化輸出.
  • 使用DOMDocument類可以很好第輸出XML.
  • 節(jié)點(diǎn)要先引入再添加.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,092評(píng)論 1 92
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,765評(píng)論 25 709
  • 在春晚期間,有個(gè)叫姥說(shuō)的向聲。 確實(shí),小時(shí)候,不想聽(tīng)大人的啰嗦。而長(zhǎng)大之后,才知道血濃于水的道理。 小時(shí)候,不曾聽(tīng)...
    九翼天龍閱讀 492評(píng)論 1 2
  • 首先,我有一個(gè)交往了將近兩年的女朋友。 我清晰地記得初次和她相見(jiàn)的場(chǎng)景。不,不是“相見(jiàn)”,是我先邂逅她。 那一天是...
    敬千帆閱讀 2,130評(píng)論 0 0

友情鏈接更多精彩內(nèi)容