用php错误解析xml

时间:2013-02-25 20:15:41

标签: php xml dom xml-parsing

我在谷歌和这里找不到任何有用的东西。 我在解析我的xml文件时遇到了麻烦。

    $xml = new DOMDocument();
    $xml->load('racunixml.xml');
    $searchNode = $xml->getElementsByTagName( "racun" ); 
    foreach( $searchNode as $searchNode ) 
    {   
       $xmlNaruc=$searchNode->getElementsByTagName('narucitelj');
       $valNaruc = $xmlNaruc->getAttribute('naziv'); 
       $valID = $searchNode->getAttribute('redbr'); 
       $valDate = $searchNode->getAttribute( "date" ); 
        $valPaci = $searchNode->getAttribute( "pacijent"); 
    }

引用line返回此错误: $valNaruc = $xmlNaruc->getAttribute('naziv');

致命错误:调用未定义的方法DOMNodeList :: getAttribute()

1 个答案:

答案 0 :(得分:2)

如果你正在调用:: getElementsByTagName()(注意其中的“s” - 复数)它总是返回DOMNodeList。它会礼貌地提示您错误消息。如果我们查看手册http://www.php.net/manual/en/class.domnodelist.php,则该类没有:: getAttribute()方法。但DOMNode已经和你需要做的是在foreach中循环getElementsByTagName()返回的结果:

foreach($searchNode->getElementsByTagName('narucitelj') as $xmlNaruc) {
    $valNaruc = $xmlNaruc->getAttribute('naziv'); 
    .....
}