我在谷歌和这里找不到任何有用的东西。 我在解析我的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()
答案 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');
.....
}