Как мне обновить текст внутри CDATA - PullRequest
1 голос
/ 22 мая 2009

Я хочу заменить текст внутри раздела cdata, но когда я просто пытаюсь добавить текст в него, я теряю определение CDATA.

У меня есть такой XML-код:

<title><![CDATA[string]]></title>

Когда я пытаюсь обновить это поле новым значением:

myXmlNode.SelectSingleNode("title").InnerText = TextBoxName.Text;

Вывод

<title>string</title>    

Как мне сохранить его как CDATA?

Ответы [ 2 ]

2 голосов
/ 22 мая 2009

Элемент title будет иметь дочерний элемент CData, который необходимо привести следующим образом: -

 ((XmlCDataSection)myXmlNode.SelectSingleNode("title").FirstChild).Value = TextBoxName.Text
1 голос
/ 22 мая 2009

Я бы сделал:

myXmlNode.SelectSingleNode("title").FirstChild.InnerText = TextBoxName.Text;

Таким образом, вам не нужно иметь дело с форматом CDATA в вашем коде (правка: жесткое кодирование <! [CDATA [все равно не работает, как указал Энтони) </p>

...