0

我在谷歌和这里都找不到任何有用的东西。我无法解析我的 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"); 
    }

返回引用以下行的错误: $valNaruc = $xmlNaruc->getAttribute('naziv');

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

4

1 回答 1

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'); 
    .....
}
于 2013-03-24T19:45:40.913 回答