C#XDocument元素在其父元素之外
使用LINQXDocument,我想检查元素是否在其父元素之外 示例XML:C#XDocument元素在其父元素之外,c#,C#,使用LINQXDocument,我想检查元素是否在其父元素之外 示例XML: <document> <x> <p>text</p> </x>--this is correct <p>some text</p> --this should be inside <x> tag <x> <p>text</p> </x>--this is correct &l
<document>
<x>
<p>text</p>
</x>--this is correct
<p>some text</p> --this should be inside <x> tag
<x>
<p>text</p>
</x>--this is correct
</document>
正文
--这是正确的
一些文本——应该在标签内
正文
--这是正确的
预期:
<document>
<x>
<p>text</p>
</x>
<x>
<p>some text</p>
<p>text</p>
</x>
</document>
正文
一些文本
正文
LinqToXml提供了大量关于xml中元素的信息。
XElements的属性之一是.Parent属性
所以你可以用这样的东西
var unexpectedParagraphs = xdoc.Root
.Elements()
.Where(x => x.Parent.Name != "x");
这将返回其父元素未命名为“x”的根的直接子元素
如果您不熟悉linqToXml,可以选中此链接以开始使用linqToXml:
var nodes=xdoc.subjects().Elements(“子”)。其中(x=>x.Parent.Name.LocalName!=“Parent”);--知道了。。谢谢大家你可以把它缩短一点