从 XmlNode 中删除 CDATA 标签

问题描述 投票:0回答:2

我有一个

XmlNode
代表以下xml例如:

XmlNode xml.innerText =
<book>
<name><![CDATA[Harry Potter]]</name>
<author><![CDATA[J.K. Rolling]]</author>
</book>

我想更改此节点,使其包含以下内容:

XmlNode xml.innerText =
<book>
<name>Harry Potter</name>
<author>J.K. Rolling</author>
</book>

任何想法?
谢谢!

c# xmldocument cdata xmlnode
2个回答
9
投票

好吧,如果这正是你所说的,那就很简单了:

xml.innerText = xml.innerText.Replace("![CDATA[","").Replace("]]","");
xmlDoc.Save();// xmlDoc is your xml document

1
投票

我建议您阅读整个 xml 并重写它。您可以像这样读取没有 cdata 的值

foreach (var child in doc.Root.Elements())
    {
         string name = child.Name;
         string value = child.Value
    }
© www.soinside.com 2019 - 2024. All rights reserved.