Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用php解析XML(SRU)_Php_Xml - Fatal编程技术网

用php解析XML(SRU)

用php解析XML(SRU),php,xml,Php,Xml,我试图解析一个不起作用的XML响应。在API文档中,它表示它是一个基于XML的协议:SRU。那么,这段XML解析代码会起作用吗?还是代码中有错误 代码: xml结构: <searchRetrieveResponse> <numberOfRecords>1</numberOfRecords> <datafield tag="020" ind1=" " ind2=" "> <subfield code="a">

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

代码:

xml结构:

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

    ...

</searchRetrieveResponse>

1.
xyz
...

美元登录名
$code
(在
xpathvar->query
中)看起来不属于那里。根据您的情况,尝试删除或转义美元符号(根据示例xml,删除看起来很合适)

你怎么知道它“不起作用”?你能提供错误吗?没有输出。而print_r($xmldoc)则显示xnl已被获取。错误应该在之后发生。我认为这只适用于双引号。也许是版本相关的?不,你是对的。。。这是不正确的,因为它是现在。我现在正在编辑它。@eyekanal对这个问题发帖很不满意。我编辑了属性以便于阅读,并将$替换为@。代码具有正确的语法,但仍然没有向$queryResults传递任何内容。foreach循环不执行。
<searchRetrieveResponse>
    <numberOfRecords>1</numberOfRecords>
    <datafield tag="020" ind1=" " ind2=" ">
        <subfield code="a">xyz</subfield>
    </datafield>

    ...

</searchRetrieveResponse>