如何使用LINQ删除没有子节点的Xelement? [英] how to remove Xelement without its children node using LINQ?
本文介绍了如何使用LINQ删除没有子节点的Xelement?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的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>
节点,而不删除其后裔/子代,
I'm using following code to remove <X>
node without deleting its descents/childrens,
XDocument doc = XDocument.Load("D:\\parsedXml.xml");
doc.Descendants("A").Descendants("X").Remove();
但是正在删除整个 <X>
块.
But is removing entire <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());
这篇关于如何使用LINQ删除没有子节点的Xelement?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文