首页 > 解决方案 > php simplexml_load_file 和 CDATA 的数据完全丢失

问题描述

我有以下 xml 文件

<?xml version="1.0" encoding="UTF-8"?> 
<data>
   <item name="general.global.Event"><![CDATA[EVENT!]]></item>
   <item name="general.global.CompanyName"><![CDATA[some name]]></item>
   <item name="general.global.CompanyImprint"><![CDATA[Legal information]]></item>
</data>

我的代码如下

$xml = simplexml_load_file("general.xml") or die("Error: Cannot create object");
print_r($xml);

我的输出缺少 CDATA .. 怎么办?

SimpleXMLElement Object
(
[item] => Array
    (
        [0] => SimpleXMLElement Object
            (
                [@attributes] => Array
                    (
                        [name] => general.global.Event
                    )

            )

        [1] => SimpleXMLElement Object
            (
                [@attributes] => Array
                    (
                        [name] => general.global.CompanyName
                    )

            )

        [2] => SimpleXMLElement Object
            (
                [@attributes] => Array
                    (
                        [name] => general.global.CompanyImprint
                    )

            )

    )

)

标签: php

解决方案


文本节点不使用print_r.

您可以看到您明确查看的数据:

print $xml->item[0];

推荐阅读