如何将CDATA添加到xml文件?

时间:2012-02-27 22:52:12

标签: html xml xml-parsing cdata

我有一个现有的xml文件,其中包含我想在我的网站上显示的通知。摘录如下:

<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);
        }

notification是我用来存储链接的List。我得到的错误是:

']]&GT;'

通知需要包含HTML,因为我正在显示它。谢谢你们,伙计们。

2 个答案:

答案 0 :(得分:3)

尝试使用

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

而不是

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

答案 1 :(得分:1)

尝试这种方式:

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