如何编辑文本内容保持它在一个CDATA块

本文关键字:一个 CDATA 何编辑 编辑 文本 | 更新日期: 2023-09-27 17:51:02

我想在这个文档中编辑cdata块的内容。下面是一个简单的例子:

<root><![CDATA[pi > 22/7]]></root>

我试着

var element = XElement.Parse("<root><![CDATA[pi > 22/7]]></root>");
element.Value = element.Value.Replace("> 22/7", "< 22/7");
element.Dump();

但是,结果没有CDATA块。

<root>pi &lt; 22/7</root>

I want

<root><![CDATA[pi < 22/7]]></root>

我怎么才能做到呢?

如何编辑文本内容保持它在一个CDATA块

您需要修改XCData元素的值:

var element = XElement.Parse("<root><![CDATA[pi > 22/7]]></root>");
var cdata = (XCData)element.FirstNode;
cdata.Value = cdata.Value.Replace("> 22/7", "< 22/7");
element.Dump();

我选择了

var newValue = element.Value.Replace("> 22/7", "< 22/7");
element.ReplaceNodes(new XCData(newValue));
相关文章: