【问题标题】:How do I add CDATA to an xml file?如何将 CDATA 添加到 xml 文件?
【发布时间】:2012-02-27 22:52:11
【问题描述】:

我有一个现有的 xml 文件,其中包含我想在我的网站上显示的通知。接下来是一个 sn-p:

<contents>
  <item>
    <![CDATA[
        <a style="font-weight: bold;" href="http://engadget.com">Engadget</a>
    ]]>
  </item>
  <item>
    <![CDATA[
        <a style="font-weight: bold;" href="http://cnn.com">CNN</a>
    ]]>
  </item>
</contents>

我正在尝试打开此文档并向其中添加新的“项目”,但我不能:

        foreach (string s in notifications)
        {
            XmlElement newElement = doc.CreateElement("item");
            newElement.InnerXml = "&lt;![CDATA[ " + s + " ]]>";
            doc.DocumentElement.SelectNodes("/contents")[0].AppendChild(newElement);
        }

notifications 是我用来存储链接的列表。我得到的错误是:

']]>' 不允许出现在字符数据中。

由于我的显示方式,通知需要包含 HTML。谢谢大家观看。

【问题讨论】:

    标签: html xml xml-parsing cdata


    【解决方案1】:

    尝试使用

    newElement.AppendChild(doc.CreateCDataSection(s));
    

    而不是

    newElement.InnerXml = "&lt;![CDATA[ " + s + " ]]>";
    

    【讨论】:

      【解决方案2】:

      试试这个方法:

      newElement.InnerXml = "&lt;![CDATA[ " + s + " ]]&gt;";
      

      【讨论】:

        猜你喜欢
        • 2013-03-10
        • 2014-08-03
        • 2011-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-30
        相关资源
        最近更新 更多