这是在使用来自 .net 的 XDocument 时出现的问题。
我曾认为这可能会起作用...
xElement.Element(elementName).Value = new XCData(value).ToString();
... 但最终呈现的效果却是这样的...
<name><![CDATA[hello world]]></name>
这是在使用来自 .net 的 XDocument 时出现的问题。
我曾认为这可能会起作用...
xElement.Element(elementName).Value = new XCData(value).ToString();
... 但最终呈现的效果却是这样的...
<name><![CDATA[hello world]]></name>
XCData是XNode的一种类型。因此,您应该尝试将其Add到元素中,而不是设置值(这被documented为元素的扁平文本内容):
xElement.Element(elementName).Add(new XCData(value));
如果您正在创建XElement(而不是修改它),您还可以直接在构造函数中将其添加为内容:
new XElement(elementName, new XCData(value));
尝试一下
xElement.Element(elementName).ReplaceNodes(new XCData(value));