【问题标题】:formalize xml input to simpleXML将 xml 输入形式化为 simpleXML
【发布时间】:2011-10-08 15:43:07
【问题描述】:

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

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

【问题讨论】:

    标签: php xml cdata


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      在 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 部分)

      【讨论】:

      • 是的,我特别有理由确保它必须完全一样 :) 感谢您的回答!
      猜你喜欢
      • 1970-01-01
      • 2017-01-11
      • 1970-01-01
      • 1970-01-01
      • 2012-12-07
      • 2013-07-17
      • 1970-01-01
      • 2015-09-23
      • 1970-01-01
      相关资源
      最近更新 更多