如何将<! - CDATA - >放在XML标记中

时间:2012-10-02 12:25:59

标签: c# xml

我正在尝试将<!CDATA>放入我的XML文件中的特定标记中,但结果为&lt;![CDATA[mystring]]&gt;

有人可以帮助我吗?

编码

XmlProcessingInstruction pi = doc.CreateProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\"");

我是怎么做的

texto.InnerText = "<![CDATA[" + elemento.TextoComplementar.ToString() + "]]>";

2 个答案:

答案 0 :(得分:4)

XmlNode xnode = xdoc.SelectSingleNode("entry/entry_status");

XmlCDataSection CData;

InnerText执行所需的任何转义。

xnode.InnerText = "Hi, How are you..??";

如果您想使用CDATA node,那么:

CData = doc.CreateCDataSection("Hi, How are you..??");

答案 1 :(得分:4)

您尚未解释如何创建XML - 但它看起来像是通过XmlDocument

因此,您可以使用CreateCDataSection

首先创建CData节点,提供要放入其中的文本,然后将其作为子项添加到XmlElement中。

您可能应该考虑使用Linq to XML来处理XML - 在我最简陋的意见中,它有一个更自然的API来创建XML,取消了XML DOM模型,而不是允许您使用XML模型内联创建整个文档树。例如,这就是如何使用属性和cdata部分创建元素:

var node = new XElement("root", 
  new XAttribute("attribute", "value"),
  new XCData("5 is indeed > 4 & 3 < 4"));