在 C# 中编辑 XpathDocument 中的标签
Editing a tag in XpathDocument in C#
我有 XpathDocument 对象,其内容类似于
<MainTag>
<XYZTag>
<Tag>
<CTag ID="ABS"/>
</Tag>
</XYZTag>
<ABCTag>
<CTag ID="ABS"/>
</ABCTag>
<FGHTag>
<CTag ID="ABS"/>
</FGHTag>
</MainTag>
我想删除
<Tag> </Tag>
让它看起来像
<MainTag>
<XYZTag>
<CTag ID="ABS"/>
</XYZTag>
<ABCTag>
<CTag ID="ABS"/>
</ABCTag>
<FGHTag>
<CTag ID="ABS"/>
</FGHTag>
</MainTag>
我尝试将 innerXML 分配给 outerXML,显然不允许。无数的在线解决方案也不起作用。是否可以在 XPathDocument 中进行此更改?
是否必须是XPathDocument。您可以使用 XmlDocument 轻松完成此操作。这是一个例子。
var xml = @"
<MainTag>
<Tag>
<CTag ID='ABS'/>
</Tag>
</MainTag>";
var doc = new XmlDocument();
doc.LoadXml(xml);
var tagNode = doc.SelectSingleNode("//Tag");
var ctagNode = tagNode.FirstChild;
tagNode.ParentNode.ReplaceChild(ctagNode, tagNode);
我有 XpathDocument 对象,其内容类似于
<MainTag>
<XYZTag>
<Tag>
<CTag ID="ABS"/>
</Tag>
</XYZTag>
<ABCTag>
<CTag ID="ABS"/>
</ABCTag>
<FGHTag>
<CTag ID="ABS"/>
</FGHTag>
</MainTag>
我想删除
<Tag> </Tag>
让它看起来像
<MainTag>
<XYZTag>
<CTag ID="ABS"/>
</XYZTag>
<ABCTag>
<CTag ID="ABS"/>
</ABCTag>
<FGHTag>
<CTag ID="ABS"/>
</FGHTag>
</MainTag>
我尝试将 innerXML 分配给 outerXML,显然不允许。无数的在线解决方案也不起作用。是否可以在 XPathDocument 中进行此更改?
是否必须是XPathDocument。您可以使用 XmlDocument 轻松完成此操作。这是一个例子。
var xml = @"
<MainTag>
<Tag>
<CTag ID='ABS'/>
</Tag>
</MainTag>";
var doc = new XmlDocument();
doc.LoadXml(xml);
var tagNode = doc.SelectSingleNode("//Tag");
var ctagNode = tagNode.FirstChild;
tagNode.ParentNode.ReplaceChild(ctagNode, tagNode);