小妹又遇到取XML子節點問題。請幫忙給看看1
我取到一級目錄的節點,但是它的下一級目錄我就是取不到
不知道為什麼請各位師哥指正。
$XMLStr='
';
if($XMLStr!="")
{
$XMLStr=stripcslashes($XMLStr);
$xml = new DOMDocument(); //建立一個DOMDocument
$xml->loadXML($XMLStr); //Php指定需要讀取xml檔案的位置
$itemObj = $xml->getElementsByTagName('WallPaper');//按照名稱取得節點,返回所有節點的集合,不過這裡這樣讀LevelOne是沒有意義的....
for($i=0;$i<$itemObj->length;$i++)
{
$id= $itemObj->item($i)->getAttribute("ID");
$updatetime= $itemObj->item($i)->getAttribute("UpdateTime");
echo "ID:".$id."
";
echo "UpdateTime:".$updatetime."
";//到這裡都正確!
$PointObj=$itemObj->getElementsByTagName('Point');//再去尋找一下子節點
echo $PointObj->length;
}
}
?>
總報錯:Fatal error: Call to undefined method DOMNodeList::getElementsByTagName() in C:\wamp\www\admin\interface\wallpaper_update.php on line 36
幫我看看這是為什麼那!請師哥指正。
------解決方案--------------------
PHP code
$XMLStr=' '; if($XMLStr!="") { $XMLStr=stripcslashes($XMLStr); $xml = new DOMDocument(); //建立一個DOMDocument $xml->loadXML($XMLStr); //Php指定需要讀取xml檔案的位置 $itemObj = $xml->getElementsByTagName('WallPaper');//按照名稱取得節點,返回所有節點的集合,不過這裡這樣讀LevelOne是沒有意義的.... for($i=0;$i <$itemObj->length;$i++) { $id= $itemObj->item($i)->getAttribute("ID"); $updatetime= $itemObj->item($i)->getAttribute("UpdateTime"); echo "ID:".$id."
"; echo "UpdateTime:".$updatetime."
";//到這裡都正確! $PointObj=$itemObj->item($i)->getElementsByTagName('Point');//再去尋找一下子節點 echo $PointObj->length; } }