C# 在C中编辑XpathDocument中的标记#
我有一个XpathDocument对象,它的内容如下C# 在C中编辑XpathDocument中的标记#,c#,xml,xpath,xpathdocument,C#,Xml,Xpath,Xpathdocument,我有一个XpathDocument对象,它的内容如下 <MainTag> <XYZTag> <Tag> <CTag ID="ABS"/> </Tag> </XYZTag> <ABCTag> <CTag ID="ABS"/> </ABCTag> <FGHTag> &
<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。你可以很容易地使用。这里有一个例子
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);
var xml=@”
";
var doc=新的XmlDocument();
doc.LoadXml(xml);
var tagNode=doc.SelectSingleNode(“//标记”);
var ctagNode=tagNode.FirstChild;
tagNode.ParentNode.ReplaceChild(ctagNode,tagNode);