如何使用 LINQ 删除没有子节点的 Xelement?

2023-11-30

这是我的XML,

<A>
    <B  id="ABC">
      <C name="A" />
      <C name="B" />     
    </B>
    <X>
     <B id="ZYZ">
      <C name="A" />
      <C name="B" />
     </B>
    </X>
</A>

我正在使用以下代码来删除<X>节点而不删除其后代/子节点,

XDocument doc = XDocument.Load("D:\\parsedXml.xml");
doc.Descendants("A").Descendants("X").Remove();

但正在删除整个<X> block.

预期输出:

<A>
    <B  id="ABC">
      <C name="A" />
      <C name="B" />     
    </B>
     <B id="ZYZ">
      <C name="A" />
      <C name="B" />
     </B>
</A>

var x = doc.Root.Element("X");
x.Remove();
doc.Root.Add(x.Elements());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 LINQ 删除没有子节点的 Xelement? 的相关文章

随机推荐