我一直在尝试解析这个提要。如果您单击该链接,您会注意到它甚至无法在浏览器中正确解析它。
无论如何,我的托管服务不允许我使用 simplexml_load_file,所以我一直在使用 cURL 来获取它,然后将字符串加载到 DOM 中,如下所示:
$dom = new DOMDocument;
$dom->loadXML($rawXML);
if (!$dom) {
echo 'Error while parsing the document';
exit;
}
$xml = simplexml_import_dom($dom);
但我收到错误(“DOMDocument::loadXML() [domdocument.loadxml]: Entity 'nbsp' not defined in Entity”),然后我尝试使用 SimpleXMLElement 没有运气(它显示相同的错误“解析器错误:实体 'nbsp'未定义”等...因为该元素中的 HTML)。
$xml = new SimpleXMLElement($rawXML);
所以我的问题是,如何跳过/忽略/删除该元素,以便解析其余数据?
编辑:感谢 mjv 的解决方案!...我只是这样做了(对于其他有同样问题的人)
$rawXML = str_replace('<description>','<description><![CDATA[',$rawXML);
$rawXML = str_replace('</description>',']]></description>',$rawXML);