将xml输入形式化为simpleXML

时间:2011-10-08 15:43:08

标签: php xml cdata

我编写了一个简单的函数来创建xml元素,其数据如下:

$item->addChild('title', '<![CDATA[<font color="#9353ce">All Content Is Dynamically Loaded</font>]]>');

但数据不会像我想的那样输出,但它包含一些html实体:

&lt;![CDATA[&lt;font color="#FFFFFF"&gt;

我已经检查了函数html_entity_decode但它似乎只转换双引号和单引号:)

感谢您阅读本文,我希望有人可以帮助我。

2 个答案:

答案 0 :(得分:0)

您需要使用htmlspecialchars-decode()将其恢复为您要查找的格式。

答案 1 :(得分:0)

在XML中,

<title>
  <![CDATA[<font color="#9353ce">All Content Is Dynamically Loaded</font>]]>
</title>

在语义上与

相同
<title>
  &lt;font color="#9353ce"&gt;All Content Is Dynamically Loaded&lt;/font&gt;
</title>

所以也许以下可能有所需的输出(上面的第二个版本)?

$item->addChild(
  'title',
  '<font color="#9353ce">All Content Is Dynamically Loaded</font>'
);

(除非你有其他理由为什么你真的需要序列化为CDATA部分)