我想在这个文档中编辑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 < 22/7</root>
我想要
<root><![CDATA[pi < 22/7]]></root>
我怎样才能做到这一点?
答案 0 :(得分:2)
您需要修改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();
答案 1 :(得分:0)
我去了
var newValue = element.Value.Replace("> 22/7", "< 22/7");
element.ReplaceNodes(new XCData(newValue));