【发布时间】:2014-02-04 09:27:13
【问题描述】:
如果我使用以下php 代码将xml 转换为json:
<?php
header("Content-Type:text/json");
$resultXML = "
<QUERY>
<Company>fcsf</Company>
<Details>
fgrtgrthtyfgvb
</Details>
</QUERY>
";
$sxml = simplexml_load_string($resultXML);
echo json_encode($sxml);
?>
我明白了
{"Company":"fcsf","Details":"\n fgrtgrthtyfgvb\n "}
但是,如果我在Details 元素中使用CDATA,如下所示:
<?php
header("Content-Type:text/json");
$resultXML = "
<QUERY>
<Company>fcsf</Company>
<Details><![CDATA[
fgrtgrthtyfgvb]]>
</Details>
</QUERY>
";
$sxml = simplexml_load_string($resultXML);
echo json_encode($sxml);
?>
我得到以下内容
{"Company":"fcsf","Details":{}}
在这种情况下,Details 元素为空白。知道为什么 Details 为空白以及如何更正吗?
【问题讨论】:
-
您之前尝试过删除 ![CDATA[ 和 ]] 吗? $resultXML =str_replace('', '', $resultXML);