2013-02-25 219 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'); 
    ..... 
}