2012-02-27 123 views
0

我有一个现有的xml文件,其中包含我想要在我的网站上显示的通知。一个片段如下:如何将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); 
     } 

的通知是,我使用了一个列表存储链接。我得到的错误是:

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

通知需要包含HTML,因为我显示它的方式。感谢您的期待,伙计们。

回答

3

尝试使用

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

,而不是

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

试试这个方法:

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