将xml输入形式化为simpleXML


formalize xml input to simpleXML

我写了一个简单的函数来创建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,但它似乎只转换双引号和单引号:)

谢谢你的阅读,我希望有人能帮助我。

您需要使用htmlspecialchars-decode()将它们恢复为您正在寻找的格式。

在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节)