2010-08-11 175 views
1

當我用linq檢索xml時,<CDATA[[]]>被刪除,這就是我想要實現的。linq to xml CDATA問題

但是當我保存該文件時,<CDATA[[]]>在xml文件中變成&lt;CDATA[[]]&gt;。 在保存之前,我是否明確地附加了<CDATA[[]]>,這給了我相同的結果。

嘗試追加&lt;CDATA[[]]&gt;但仍然給了我相同的結果。
有沒有其他方法可以讓它在xml文件中顯示<CDATA[[]]>

我使用Encoding.UTF8.GetBytes()在使用XDocument.Save(System.IO.StringWriter)保存XDocument後寫入文件。

回答

10

不是100%確定你在這裏問什麼,但它似乎是我如何在XElement中創建一個CData節。實際上,使用XCData對象非常簡單。

當你讀它,因爲你已經看到的,你不需要做任何特殊,演員運算符重載將提取的數據,你即

string myCdata = (string)xe.Element("SomeNode"); 
+0

你給一些想法,但我不知道如何申請。顯示下面的代碼的一些例子,取代了一些敏感的單詞。無論如何,在節點中,我有一些屬性,sld保持不變。 var abc =(from def in XDocument.Descendants(「someNode」) select new { def })。First(); abc.def.SetValue(「<![CDATA []]>」); – 2010-08-11 03:57:21

+0

對不起,評論混亂,但我不知道如何發表評論去新行 – 2010-08-11 03:59:34

+0

不知道如果它有幫助C_Range但這固定了我的問題... thx :) +1 – War 2012-03-07 10:16:02