简体   繁体   English

在C#中的XpathDocument中编辑标签

[英]Editing a tag in XpathDocument in C#

I have XpathDocument object which has content like 我有XpathDocument对象,其内容类似于

<MainTag>
   <XYZTag>
      <Tag>
       <CTag ID="ABS"/>
      </Tag>
     </XYZTag>
     <ABCTag>
       <CTag ID="ABS"/>
      </ABCTag>
      <FGHTag>
       <CTag ID="ABS"/>
      </FGHTag>
</MainTag>

I want to remove 我要删除

<Tag> </Tag> 

to make it look like 使它看起来像

<MainTag>
   <XYZTag>

       <CTag ID="ABS"/>

     </XYZTag>
     <ABCTag>
       <CTag ID="ABS"/>
      </ABCTag>
      <FGHTag>
       <CTag ID="ABS"/>
      </FGHTag>
</MainTag>

I tried assign innerXML to outerXML, apparently not allowed. 我尝试将innerXML分配给externalXML,显然是不允许的。 Myriad of online solution also not work. 无数的在线解决方案也不起作用。 Is it possible to have this change in XPathDocument? 是否可以在XPathDocument中进行此更改?

Does it have to be XPathDocument. 是否必须是XPathDocument。 You can do this easily using XmlDocument . 您可以使用XmlDocument轻松完成此操作。 Here's one example. 这是一个例子。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM