2011-03-10 4 views
0

내가 Linq To Xml을 가지고 있다고 생각하고 있었을 때 나는 또 다른 오류에 직면했다! 나는 일반적으로 linq 검색 프로세스를 더 잘 이해할 수 있다면 더 많은 성공을 거둘 수 있다고 생각합니다. 따라서 좋은 링크도 환영합니다. 그러나 내 문제는; 어떻게 수 I는 모두 '요소'노드를 반환하는 위의 코드를 예상했을 것이다Linq To Xml - 예기치 않은 검색 결과

Dim xd As XDocument = _ 
    <?xml version="1.0" encoding="utf-8"?> 
    <root> 
     <element> 
      <subelement id="1"/> 
      <subelement id="2"/> 
      <subelement id="3"/> 
     </element> 
     <element> 
      <subelement id="4"/> 
      <subelement id="1"/> 
      <subelement id="5"/> 
     </element> 
    </root> 

    Dim results = _ 
    From q In xd.Descendants.<element> _ 
    Where q.<subelement>[email protected] = 1 

    For Each xe As XElement In results 
     Console.WriteLine(xe.ToString) 
    Next 

하지만, 그것은 단지 '요소'내 첫 번째 '하위 요소'노드를 검색 있기 때문에 첫 번째 반환 아래의 코드를 사용하여 where 절을 모든 '하위 요소'노드에 적용합니까?

답변

1

당신은 할 수

Dim results = _ 
    From q In xd.Descendants.<element> _ 
    From p In q.<subelement> _ 
    Where [email protected] = 1 

(내 VB.NET 여기에 작업까지 인 경우 그. 편집 주시기 바랍니다 나는 C#에서 그것을 할 수 ...입니다.)