PHP - xml到json转换:“无法将字符串解析为XML”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP - xml到json转换:“无法将字符串解析为XML”相关的知识,希望对你有一定的参考价值。
我有一个很好的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>
答案
您的XML无效。替换第一行
<?xml version="1.0" encoding="UTF-8" ?>
以上是关于PHP - xml到json转换:“无法将字符串解析为XML”的主要内容,如果未能解决你的问题,请参考以下文章
PHP - xml 到 json 的转换:“字符串无法解析为 XML”
PHP - xml到json转换:“无法将字符串解析为XML”