C# 在C中编辑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> &

我有一个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。你可以很容易地使用。这里有一个例子

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);