如何更新CDATA内的文本

时间:2009-05-22 07:19:36

标签: c# .net cdata xmlnode

我想替换cdata部分中的文本,但是当我只是尝试向其添加文本时,我失去了CDATA定义。

我有这样的XML:

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

当我尝试使用新值更新此字段时:

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

输出

<title>string</title>    

如何将其保留为CDATA?

2 个答案:

答案 0 :(得分:2)

标题元素将有一个CData子项,需要像这样进行转换: -

 ((XmlCDataSection)myXmlNode.SelectSingleNode("title").FirstChild).Value = TextBoxName.Text

答案 1 :(得分:1)

我愿意:

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

这样您就不必在代码中处理CDATA格式了(编辑: 硬编码&lt;![CDATA [无论如何,如安东尼所指出的那样无效]