Php 调用未定义的方法simplexmlement::child_nodes()

Php 调用未定义的方法simplexmlement::child_nodes(),php,xml,simplexml,smarty,Php,Xml,Simplexml,Smarty,我有一个代码,它解析从谷歌搜索中获得的xml文本 以前它工作得很好,我想在更新我的版本信息后它工作得不好 出现以下错误时可能会出现什么问题 Fatal error: Call to undefined method SimpleXMLElement::child_nodes() in /home/search.php in line 70 请告诉我如何解决这个问题 此代码在smarty中使用 它从curl获取响应字符串。没有名为子节点的方法。你在找方法吗?好的,谢谢你的回答 我通过使用domx

我有一个代码,它解析从谷歌搜索中获得的xml文本 以前它工作得很好,我想在更新我的版本信息后它工作得不好

出现以下错误时可能会出现什么问题

Fatal error: Call to undefined method SimpleXMLElement::child_nodes() in /home/search.php in line 70
请告诉我如何解决这个问题

此代码在smarty中使用
它从curl获取响应字符串。

没有名为
子节点的方法。你在找方法吗?

好的,谢谢你的回答

我通过使用domxml-php4-to-php5.php文件解决了我的问题。我刚刚上传了这个文件,并将该文件名包含在我的文件中。它成功了

我从这个链接获得了该文件:


:)

使用以下符号迭代xml(更改“myfile.xml”和“tagName”):

children()作为$child){
$name=$child->getName();
如果($name==“标记名”){
foreach($child->children()作为$sunder){
//做点什么
}
}
}
}
?>

还有其他更优雅的方法来实现这一点,但这是一个简单的初学者的方法。有关技术信息:

我认为这是由于版本问题。在PHPVersion4中工作正常,在PHPVersion5中工作不正常working@phani,对PHP4的支持已于三年前停止。PHP4不再更新,也没有收到错误修复——甚至没有安全修复!您不应该在生产中使用PHP4,也不应该开发设计用于在PHP4下运行的新代码。@phani PHP4中从来没有SimpleXml。你在说什么?
<?php
include('simple_html_dom.php');
if (file_exists('myfile.xml')) {
    $xml = simplexml_load_file('myfile.xml');
    print_r($xml);
    foreach( $xml->children() AS $child ) {
        $name = $child->getName();
        if ($name == 'tagName') {
            foreach( $child->children() AS $grandchild ) {
                // DO SOMETHING
            }
        }
    }
}
?>