SimpleXML在PHP中跳过CDATA

时间:2017-09-29 14:56:59

标签: php arrays json xml

我正在使用SimpleXML转换XML文件。像这样。

$xml = simplexml_load_file('rt.xml',  null, LIBXML_NOCDATA);
$json = json_encode($xml);
var_dump($json);
$array = json_decode( $json, true );

这很好用,但它遗漏了我需要的数据。

例如,查看XML的这一部分。我将评论我返回哪些数据,哪些不是:

<title>Something Here</title> //returned
        <link>https://example.com</link> //returned
        <pubDate>Fri, 24 Mar 2017 13:19:17 +0000</pubDate> //returned
        <dc:creator><![CDATA[bsmith]]></dc:creator> // not returned
        <guid isPermaLink="false">https://example.com</guid> //returned
        <description></description>
        <wp:post_id>54432</wp:post_id> //not returned
        <wp:post_date><![CDATA[2017-03-24 13:19:17]]></wp:post_date> //not returned

not returned我的意思是它不在从XML创建的数组中。

我也试过这个,但这也不起作用。

$xml = simplexml_load_file('rt.xml',  null);
$json = json_encode($xml);
var_dump($json);
$array = json_decode( $json, true );

如何确保我的阵列包含wp:post_date?另外,我发现除了wp:post_id之外,我缺少的字段是CDATA。我的阵列中缺少这个,但不是CDATA。

任何方向都会受到赞赏。

0 个答案:

没有答案