Я пытался разобрать этот канал . Если вы нажмете на эту ссылку, вы заметите, что она не может даже правильно проанализировать ее в браузере.
В любом случае, мой хостинг не позволит мне использовать 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]: сущность 'nbsp' не определена в сущности"), затем я попытался использовать SimpleXMLElement без удачи (она показывает ту же ошибку "ошибка парсера: Entity 'nbsp' не определено "и т. д. из-за HTML в этом одном элементе).
$xml = new SimpleXMLElement($rawXML);
Итак, мой вопрос: как мне пропустить / игнорировать / удалить этот элемент, чтобы я мог проанализировать остальные данные?
Редактировать: Спасибо mjv за решение! ... Я только что сделал это (для других, у которых такая же проблема)
$rawXML = str_replace('<description>','<description><![CDATA[',$rawXML);
$rawXML = str_replace('</description>',']]></description>',$rawXML);