>백엔드 개발 >PHP 튜토리얼 > 小妹又遇到取XML子节点有关问题。请帮忙给看看1

小妹又遇到取XML子节点有关问题。请帮忙给看看1

WBOY
WBOY원래의
2016-06-13 13:41:56983검색

小妹又遇到取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;$ilength;$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=' 
<wallpaperlist> 
    <wallpaper id="69" updatetime="2008-12-10 12:00:00"> 
        <point id="1"> 
            <agent id="123456" updatetime="2008-12-10 12:00:00"></agent> 
            <agent id="123457" updatetime="2008-12-10 12:00:00"></agent> 
        </point> 
        <point id="2"> 
            <agent id="123456" updatetime="2008-12-10 12:00:00"></agent> 
            <agent id="123457" updatetime="2008-12-10 12:00:00"></agent> 
        </point> 
    </wallpaper> 
</wallpaperlist>'; 
if($XMLStr!="") 
{ 
    $XMLStr=stripcslashes($XMLStr); 
    $xml = new DOMDocument(); //建立一个DOMDocument 
    $xml->loadXML($XMLStr); //Php指定需要读取xml文件的位置 
    $itemObj = $xml->getElementsByTagName('WallPaper');//按照名称取得节点,返回所有节点的集合,不过这里这样读LevelOne是没有意义的.... 

    for($i=0;$i length;$i++) 
    {     
        $id= $itemObj->item($i)->getAttribute("ID"); 
        $updatetime= $itemObj->item($i)->getAttribute("UpdateTime"); 
        echo "ID:".$id." <br>"; 
        echo "UpdateTime:".$updatetime." <br>";//到这里都正确! 
        
        $PointObj=$itemObj->item($i)->getElementsByTagName('Point');//再去查找一下子节点 
        echo $PointObj->length; 
    } 
} <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.