小妹又遇到取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
帮我看看这是为什么那!请师哥指正。
------解决方案--------------------
$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>
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号