2013-02-25 193 views
0

我找不到任何有用的东西在谷歌上,也在这里。 我在解析我的xml文件时遇到了问题。XML解析与PHP错误

$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()

+0

你没有在任何地方定义'xmlNaruc'? – 2013-02-25 20:17:17

回答

2

如果你调用::的getElementsByTagName()(注意在“s”中 - 复数)它总是返回DOMNodeList。它礼貌地提示你错误信息。如果我们看手册http://www.php.net/manual/en/class.domnodelist.php这个类没有:: getAttribute()方法。但DOMNode有和你需要做的是循环遍历由getElementsByTagName()在foreach中返回的结果:

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