2012-02-27 170 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;";