2010-08-11 5 views
1

Когда я использовал linq для извлечения xml, удаляется <CDATA[[]]>, чего я хочу достичь.linq to xml Проблема CDATA

Но когда я сохранить файл, <CDATA[[]]> становится в файле XML &lt;CDATA[[]]&gt;. Является ли я явно добавлением с <CDATA[[]]> перед сохранением, дает мне тот же результат.

Пробовал с помощью &lt;CDATA[[]]&gt;, но все же дает мне тот же результат.
Есть ли другой способ сделать это показать <CDATA[[]]> в XML-файле?

Я использую Encoding.UTF8.GetBytes() для записи в файл после сохранения XDocument с использованием XDocument.Save(System.IO.StringWriter).

ответ

10

не уверен, что вы спрашиваете здесь, но мне кажется, что я создаю раздел CData в вашем XElement. На самом деле очень просто использовать объект XCData.

Когда вы читаете это, как вы уже видите, что вам не нужно делать ничего особенного, перегрузка оператора литая будет извлекать данные для вас, то есть

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

у дать некоторое представление о том, но Im не совсем уверен, как подать заявку. Покажите пример кода ниже, замените некоторые чувствительные слова. В любом случае в узле у меня есть атрибут, который остался таким же. var abc = (from def in XDocument.Descendants ("someNode") выбрать новый { def }). First(); abc.def.SetValue ("]]>"); –

+0

извините за грязный комментарий, но я не уверен, как сделать комментарий, чтобы перейти в новую строку –

+0

dunno, если он помогает C_Range, но это исправило мою проблему ... thx :) +1 – War