如何将 CDATA 添加到 xml 文件?

Fre*_*hly 1 html xml cdata xml-parsing

我有一个现有的 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>
Run Code Online (Sandbox Code Playgroud)

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

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

通知是我用来存储链接的列表。我收到的错误是:

字符数据中不允许使用“]]>”。

由于我显示通知的方式,通知需要包含 HTML。谢谢你们的观看,伙计们。

Alo*_*hci 5

尝试使用

newElement.AppendChild(doc.CreateCDataSection(s));
Run Code Online (Sandbox Code Playgroud)

代替

newElement.InnerXml = "&lt;![CDATA[ " + s + " ]]>";
Run Code Online (Sandbox Code Playgroud)