【问题标题】:xml parsing with php errorxml解析与php错误
【发布时间】:2013-02-11 02:38:09
【问题描述】:

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

【问题讨论】:

  • 你没有在任何地方定义xmlNaruc

标签: php xml dom xml-parsing


【解决方案1】:

如果您调用 ::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'); 
    .....
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 2012-05-03
    • 2013-06-09
    • 1970-01-01
    • 2011-09-11
    相关资源
    最近更新 更多