如何编写CData的XML格式 [英] How to write CData in xml

查看:162
本文介绍了如何编写CData的XML格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个XML这样的:

i have an xml like :

<?xml version="1.0" encoding="UTF-8"?>
<entry>
    <entry_id></entry_id>
    <entry_status></entry_status>
  </entry>



我写在它的数据,如:

i am writing data in it like:

XmlNode xnode = xdoc.SelectSingleNode("entry/entry_status");
xnode.InnerText = "<![CDATA[ " + Convert.ToString(sqlReader["story_status"]) + " ]]>" ;    



但它的变化<以&放大器; LTCDATA的。
请告诉我如何填写上面的XML值作为一个CDATA格式

but its change "<" to "&lt" of CDATA. Please tell me how to fill values in above xml as a CData format.

我知道,我们可以创建CDATA这样的:

i know that we can create CDATA like :

XmlNode itemDescription = doc.CreateElement("description");
XmlCDataSection cdata = doc.CreateCDataSection("<P>hello world</P>");
itemDescription.AppendChild(cdata);
item.AppendChild(itemDescription);



但我的过程是读取XML的节点,并改变它的值不会在其追加。
谢谢

but my process is to read node of xml and change its value not to append in it. Thanks

推荐答案

你的真正的需要它是在CDATA,还是你只是想获取文本在那里的,不会需要额外的代码中的逃避方式?

Do you really need it to be in CDATA, or do you just want to get the text in there in a way which won't require extra escaping in your code?

的InnerText 执行任何转义是必需的,所以一般我只是用

InnerText performs whatever escaping is required, so generally I'd just use

xnode.InnerText = Convert.ToString(sqlReader["story_status"]);



...但如果​​你的真正的想要的CDATA节点,你可以自己创建一个按Nekresh的答案。

... but if you really want a CDATA node, you can create one yourself as per Nekresh's answer.

这篇关于如何编写CData的XML格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆