使用php解析XML(SRU)

时间:2011-05-03 20:44:36

标签: php xml

我试图解析一个不起作用的XML响应。在API文档中,它表示它是基于XML的协议:SRU。那么这个XML解析代码不会工作吗?或者代码中是否有错误?

代码:

$xmldoc = new DOMDocument();
$xmldoc->load('http://api.site.com/sru/query=' . $_GET['q']);
print_r($xmldoc);

$xpathvar = new Domxpath($xmldoc);
$queryResult = $xpathvar->query('//datafield[@tag="020"]/subfield[$code="a"]');
foreach ($queryResult as $result) {
    echo $result->textContent;
    print_r($result);
}

xml结构:

<searchRetrieveResponse>
    <numberOfRecords>1</numberOfRecords>
    <datafield tag="020" ind1=" " ind2=" ">
        <subfield code="a">xyz</subfield>
    </datafield>

    ...

</searchRetrieveResponse>

1 个答案:

答案 0 :(得分:0)

$codexpathvar->query)中的美元符号看起来不属于那里。尝试删除或转义美元符号,在您的情况下适当(删除看起来合适,给出示例xml)。