代码之家  ›  专栏  ›  技术社区  ›  murmansk

在c语言的xpathdocument中编辑标记#

  •  0
  • murmansk  · 技术社区  · 5 年前

    我有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中是否可能有此更改?

    1 回复  |  直到 5 年前
        1
  •  1
  •   Garett    5 年前

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