преобразование xml в json: & quot; Строка не может быть проанализирована как XML & quot;

У меня есть хороший XML-файл (огромный, около 420K строк, но действительный), и я просто пытаюсь преобразовать его в json следующим образом:

$xml_str = file_get_contents('jobs.xml');
$xml = new SimpleXMLElement($xml_str);
$json = json_encode($xml);

когда я запускаю свой php-код, он показывает мне 3 повторяющихся предупреждения:

Warning: SimpleXMLElement::__construct(): Entity: line 1: parser error : error parsing attribute name in /retrieve.php on line 34
Warning: SimpleXMLElement::__construct(): <xml version="1.0" encoding="UTF-8" ?> in /retrieve.php on line 34
Warning: SimpleXMLElement::__construct(): ^ in /retrieve.php on line 34

Обратите внимание, что строка 34 содержит эту инструкцию:

$xml = new SimpleXMLElement($xml_str);

и одна фатальная ошибка:

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /retrieve.php:34 Stack trace: #0 /retrieve.php(34): SimpleXMLElement->__construct('<xml version="1...') #1 {main} thrown in /retrieve.php on line 34

Я покажу вам первые строки моего xml:

<xml version="1.0" encoding="UTF-8" ?>
<jobs>

<job>
<category>Transport / logistics / warehouse</category>
<description>Bla bla bla </description>
<post_date>2017-12-01</post_date>
<salary>60000</salary>
</job>

....
</jobs>

0

Решение

Ваш XML недействителен. Заменить первую строку на

<?xml version="1.0" encoding="UTF-8" ?>
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]