当 PHP 中有 <![CDATA[]]> 时,XML 到 JSON
XML to JSON when there is <![CDATA[]]> in PHP
我正在尝试将目录中的一组 xml 文件转换为 json 格式,但在我的 xml 中有 CDATA,转换时 CDATA 变空了。我正在使用 simplexml_load_file($xml) 但我读到它没有获得 CDDATA,所以我尝试了 simplexml_load_string($xml, "SimpleXMLElement", LIBXML_NOCDATA) 但
它只是给了我这个错误:
Warning: simplexml_load_string(): Entity: line 5: parser error : Start
tag expected, '<' not found in C:\xampp\htdocs\xmlfilter\xmlfilter.php
on line 65
Warning: simplexml_load_string(): in
C:\xampp\htdocs\xmlfilter\xmlfilter.php on line 65
Warning: simplexml_load_string(): ^ in
C:\xampp\htdocs\xmlfilter\xmlfilter.php on line 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>
这就是我的代码:
$xml = simplexml_load_file("xml/".$y);
simplexml_load_string($xml, "SimpleXMLElement", LIBXML_NOCDATA)
simplexml_load_file
将字符串中的文件路径作为输入,returns 一个简单的 XML 对象。这很好。
simplexml_load_string
将字符串中的一些 XML 作为输入,returns 是一个简单的 XML 对象。您给它一个简单的 XML 对象作为输入,而不是字符串。这样不行。
使用simplexml_load_file
或simplexml_load_string
,不能同时使用。
我正在尝试将目录中的一组 xml 文件转换为 json 格式,但在我的 xml 中有 CDATA,转换时 CDATA 变空了。我正在使用 simplexml_load_file($xml) 但我读到它没有获得 CDDATA,所以我尝试了 simplexml_load_string($xml, "SimpleXMLElement", LIBXML_NOCDATA) 但
它只是给了我这个错误:
Warning: simplexml_load_string(): Entity: line 5: parser error : Start tag expected, '<' not found in C:\xampp\htdocs\xmlfilter\xmlfilter.php on line 65
Warning: simplexml_load_string(): in C:\xampp\htdocs\xmlfilter\xmlfilter.php on line 65
Warning: simplexml_load_string(): ^ in C:\xampp\htdocs\xmlfilter\xmlfilter.php on line 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>
这就是我的代码:
$xml = simplexml_load_file("xml/".$y); simplexml_load_string($xml, "SimpleXMLElement", LIBXML_NOCDATA)
simplexml_load_file
将字符串中的文件路径作为输入,returns 一个简单的 XML 对象。这很好。
simplexml_load_string
将字符串中的一些 XML 作为输入,returns 是一个简单的 XML 对象。您给它一个简单的 XML 对象作为输入,而不是字符串。这样不行。
使用simplexml_load_file
或simplexml_load_string
,不能同时使用。