2012-03-04 4 views
0

이 XML 파일을 구문 분석하여 요소 목록을 가져 오려고했지만 그렇게하는 데 어려움이 있습니다.계층화 된 요소 Linq

<STORES> 
    <Stores1> 
    <TEST> 
    <ClientID>200</ClientID> 
    <FormTypeID>101</FormTypeID> 
    </TEST> 
    <PROD> 
    <ClientID>200</ClientID> 
    <FormTypeID>102</FormTypeID> 
    </PROD> 
    </Stores1> 
    <Stores2> 
    <TEST> 
    <ClientID>201</ClientID> 
    <FormTypeID>717</FormTypeID> 
    </TEST> 
    <PROD> 
    <ClientID>201</ClientID> 
    <FormTypeID>719</FormTypeID> 
    </PROD> 
    </Stores2> 
</STORES> 

이 무엇을 달성하려고하는 것은 다시 모든 나는 요소 메서드 호출에 대한 querys XNames 매개 변수를 공급 내용에 따라 자식 요소를 끌어입니다 :

여기 내 XML 파일입니다. 그래서

var elements = (from x in xDoc.Elements("Stores1") 
         where x.Name.LocalName == "TEST" 
         select x).ToList(); 

그래서 목록은 다음과 같이 Stores1 테스트의 모든 요소를 ​​포함하는 것처럼 :

<ClientID>200</ClientID> 
<FormTypeID>101</FormTypeID> 

을 나는 아무것도 순간에 반환받을. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

2

xDoc.Elements("Stores1")Stores1이라는 문서의 모든 직접 하위 요소를 반환합니다.

당신이 원하는 xDoc.Element("STORES").Element("Stores1").Elements("TEST").Elements(); LINQ가 필요하지 않습니다.

관련 문제