已尝试使用PHP中的simplexml_load_string()
和new SimpleXMLElement()
从XML API解析XML数据,但我在解析CDATA
内容时遇到问题。在PHP中使用上述函数或实例还应解析CDATA
作为节点的内容(通过将其从SimpleXMLElement
中类型化为string
或使用LIBXML_NOCDATA
标志),但情况并非如此。相反,数据出来像<![CData[2801086]]>
(这花了一段时间发现在浏览器中回荡,这是不可见,因为Cdata
从渲染隐藏它)无法从XML API检索CDATA的内容
下面是一个包含了API饲料内的工作位置的片断(已下调并删除了一些内容):
<position>
<Id><![CData[2801086]]></Id>
<url>
<![CData[http://foo.bar.co.uk/ViewVacancy.aspx?2801086-foo]]>
</url>
<JobReference><![CData[VAC-00117]]></JobReference>
<JobTitle><![CData[Foo Bar]]></JobTitle>
<County><![CData[Nottinghamshire]]></County>
<Town><![CData[Nottingham]]></Town>
<Postcode><![CData[NG11 0EE]]></Postcode>
</position>
CDATA必须写成大写。你写它的方式,它不是格式良好的XML。 –
感谢您的反馈迈克尔。是的,我知道(已经在下面回答了)。不幸的是,我自己写的,所以需要让提供服务的开发人员知道 – willsquire