使用domdocument讀取xml文件需要用到以下幾個方法和屬性:
方法:
1:讀取xml文件:load()
2:獲取標簽的對象數組:getElementByTagName()
3:對象數組的索引:item()
屬性:
1:獲取屬性或節點的文本:nodeValue
2:獲取屬性名或者節點名:nodeName
2:獲取該節點的子節點集合:childNodes
3:獲取該節點的屬性集合:attributes
實例xml文件(a.xml):
1 <?xml version="1.0 encoding="UTF-8"?> 2 <people nation="漢族" city="火星"> 3 <xiaohua college="qinghua"> 4 <name>小華</name> 5 <age>12</age> 6 <sex>男</sex> 7 </xiaohua> 8 <xiaoming college="beida"> 9 <name>小明</name> 10 <age>15</age> 11 <sex>男</sex> 12 </xiaoming> 13 <xiaoqiang college="jiaotong"> 14 <name>小強</name> 15 <age>13</age> 16 <sex>男</sex> 17 </xiaoqiang> 18 </people>
php使用domdocument操作xml文件
<?php $dom = new DomDocument(); $dom->load(a.xml); $people = $dom->getElementByTagName('people');//獲取people的節點數組
$people->item(0);//獲取第一個people節點 $people->item(0)->childNodes;//獲取第一個people節點的所有子節點 $people->item(0)->attributes;//獲取第一個people節點的所有屬性
$people->item(0)->childNodes->item(0);//獲取第一個people節點的第一個節點,即xiaohua節點 $people->item(0)->attributes->item(0);//獲取第一個people節點的第一個屬性,即nation屬性。 $people->item(0)->childNodes->item(0)->childNodes->item(0);//獲取第一個people節點的第一個節點里的name節點
echo $people->item(0)->attributes->item(0)->nodeName;//輸出字符串:nation echo $people->item(0)->attributes->item(0)->nodeValue//輸出字符串:漢族 echo $people->item(0)->childNodes->item(0)->childNodes->item(0)->nodeName;//輸出字符串:name echo $people->item(0)->childNodes->item(0)->childNodes->item(0)->nodeValue;//輸出字符串:小華
foreach($people->item(0)->attributes as $key => $value){//遍歷節點
echo $key;//第一次輸出字符串:nation,第二次輸出字符串:city
echo $value->nodeValue;//第一次輸出字符串:漢族,第二次輸出字符串:火星
}