XML в JSON, когда в PHP есть <! [CDATA []]>
Я пытаюсь преобразовать группу XML-файлов из каталога в формат JSON, но в моем XML есть CDATA, сын, когда он преобразует CDATA пустым. Я использовал simplexml_load_file($xml), но я прочитал, что не получает CDDATA, поэтому я попробовал simplexml_load_string($xml, "SimpleXMLElement", LIBXML_NOCDATA), но
Это просто дало мне эту ошибку:
Предупреждение: simplexml_load_string(): Сущность: строка 5: ошибка синтаксического анализатора: ожидается начальный тег, "<" не найдено в C:\xampp\htdocs\xmlfilter\xmlfilter.php в строке 65
Предупреждение: simplexml_load_string(): в C:\xampp\htdocs\xmlfilter\xmlfilter.php в строке 65
Предупреждение: simplexml_load_string(): ^ в C:\xampp\htdocs\xmlfilter\xmlfilter.php в строке 65
В конце нового файла пишется "false?":
"LETRA_IMPRENTA":{},"LETRA_MAYUSCULA":{},"PANTALLA_VERTICAL":{},"PANTALLA_PEQUENA":{},"NAVEGADOR_CHROME":{},"SALIR_MITAD_BODY":{},"SALIR_MITAD_GUARDAR":{},"SALIR_MITAD_NOGUARDAR":{}}}falsefalsefalsefalsefalsefalsefalsefalse
Пример моего xml:
<LANGUAGE><HELLO><![CDATA[hello]]></HELLO></LANGUAGE>
1 ответ
$xml = simplexml_load_file("xml/".$y); simplexml_load_string($xml, "SimpleXMLElement", LIBXML_NOCDATA)
simplexml_load_file
принимает путь к файлу в строке в качестве входных данных и возвращает простой объект XML. Это отлично.
simplexml_load_string
принимает в качестве входных данных некоторый XML в строке и возвращает простой объект XML. Вы даете ему простой XML-объект в качестве входных данных, а не строку. Это не хорошо.
использование simplexml_load_file
или же simplexml_load_string
, не оба.