Linq to XML更新CDATA节点的方法

本文介绍了解决CDATA在XElement中丢失的问题。当尝试更新包含CDATA的XML元素时,直接修改XElement的值会导致CDATA标记消失或者被HTML转码。文章提供了正确的处理方法,即通过替换节点的方式而非更改值来维护CDATA段。

假如你的一个节点设为了CDATA类型,如果你用XElement的value="new value"的方法,你会发现<![CDATA这个标签不见了

所以我们就把方法改为value="<![CDATA"+new value+"]]>",结果却发现被html转码了

上网找到解决方法:

//Since you're interested in CDATA sections, you'll need to go a bit deeper in the API and work with nodes instead of values:
XElement article = updateArticle.Element("article");
if (null != article) {
	article.ReplaceNodes(new XCData(txtArticle.Text));
}
else {
	updateArticle.Add(new XElement("article", new XCData(txtArticle.Text)));
}
//Ion
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值