Как прочитать этот XML, получить "ошибка синтаксического анализатора: раздел CData не завершена"

Я пытаюсь прочитать этот XML: XML файл RSS

но безуспешно.. есть эта ошибка

    Warning: simplexml_load_file(): http://noticias.perfil.com/feed/:232: parser error : CData section not finished <p>La sola lectura de los datos estadísticos desp in D:\xampp\FerreWoo\scrap-rvnot.php on line 43

    Warning: simplexml_load_file(): Isis, con lo que habría logrado un nuevo respaldo a sus proyectos terroristas. in D:\xampp\FerreWoo\scrap-rvnot.php on line 43

    Warning: simplexml_load_file(): ^ in D:\xampp\FerreWoo\scrap-rvnot.php on line 43

Я использую этот код:

   $feed = simplexml_load_file($urls, null, LIBXML_NOCDATA);

Я тоже пытаюсь cURL, но те же ошибки все еще появляются.

Я знаю, что, возможно, файл de xml неверен... но должен быть способ прочитать его, верно?

1 ответ

Решение

У вас есть несколько недопустимых символов в этом XML. Попробуйте этот код ниже

$url    = 'http://noticias.perfil.com/feed/';
$html   = file_get_contents($url);
$invalid_characters = '/[^\x9\xa\x20-\xD7FF\xE000-\xFFFD]/';
$html = preg_replace($invalid_characters, '', $html);

$xml = simplexml_load_string($html);

//test purpose part 
$encode = json_encode($xml);
$decode = json_decode($encode, true);
print_r($decode)

Надеюсь, поможет

Другие вопросы по тегам