使用linq xDocument我想检查一个元素是否在父元素之外。
示例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
</document>
预期:
<document>
<x>
<p>text</p>
</x>
<x>
<p>some text</p>
<p>text</p>
</x>
</document>
答案 0 :(得分:1)
LinqToXml提供了有关xml中元素的大量信息。 关于XElements的属性是.Parent属性。
所以你可以使用这样的东西
var unexpectedParagraphs = xdoc.Root
.Elements()
.Where(x => x.Parent.Name != "x");
这将返回任何直接子节点的元素,其父节点未命名为&#39; x&#39;。
如果您不熟悉,可以查看此链接以开始使用linqToXml: https://msdn.microsoft.com/en-us/library/mt693062.aspx