2017-01-27 1 views
1

linq xDocument 사용 요소가 부모 외부에 있는지 확인하고 싶습니다.C# 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> 

답변

1

LinqToXml은 XML의 요소에 대한 많은 정보를 제공합니다. XElements의 속성에 .Parent 속성이 있습니다.

그래서 u는 자신의 부모가 'X'라는 이름되지 않은 루트의 직접적인 아이 인 요소를 반환이

var unexpectedParagraphs = xdoc.Root 
     .Elements() 
     .Where(x => x.Parent.Name != "x"); 

이 같은 것을 사용할 수 있습니다.

당신은이 링크를 확인하실 수 있습니다

이 당신에게 새로운 경우 linqToXml를 시작하려면 :.. https://msdn.microsoft.com/en-us/library/mt693062.aspx

+0

VAR 노드 =의 xdoc.Descendants() 요소 ("아이") 여기서 (X => x.Parent .Name.LocalName! = "parent"); -있어 .. 고마워 모두 – Chaegie

+0

xdoc.Descendants ("child") 비트를 줄일 수 있습니다. (..) –

관련 문제