проблема с LINQ to xml CDATA - PullRequest
       3

проблема с LINQ to xml CDATA

1 голос
/ 11 августа 2010

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

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

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

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

1 Ответ

10 голосов
/ 11 августа 2010

не на 100% уверен, что вы спрашиваете здесь, но похоже, как я могу создать раздел CData в вашем XElement.Это на самом деле очень просто, просто используйте объект XCData.

yourXElement.Add(new XElement("SomeNode", new XCData("Some CData content")));

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

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