【问题标题】:Editing a tag in XpathDocument in C#在 C# 中编辑 XpathDocument 中的标签
【发布时间】:2019-01-29 13:08:45
【问题描述】:

我有 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 中进行此更改?

【问题讨论】:

    标签: c# xml xpath xpathdocument


    【解决方案1】:

    它必须是 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多