2013-09-26 4 views
0

LINQ to XML을 사용하여 명명 된 자식 요소가있는 모든 요소의 컬렉션을 얻는 방법은 무엇입니까?Linq to XML - 특정 하위 요소가있는 요소 가져 오기

예 :

<root> 
    <Garage> 
    <Car id="001"> 
    <Price PaymentType="Cash">$100</Price> 
    </Car> 
    <Car id="002"> 
    <Price PaymentType="Cash">$200</Price> 
    </Car> 
    <Car id="003"> 
    </Car> 
</Garage> 
</root> 

이는 Price 요소가있는 2 개의 자동차 요소 (# 1 및 # 2)를 반환합니다. 가격 요소가 없으므로 Car # 3을 반환하지 않습니다.

덕분에 항상

+0

지금까지 시도한 모든 사항은 하위 요소를 반환합니다. 코드 샘플을 게시하지 않고 다시 붙이면 코드 샘플을 게시합니다. – ausgeorge

+0

코드를 보지 않고도 어디에서 멈출 지 짐작할 필요가 있습니다. 나는 모든 Car 요소를 찾는 것이 좋습니다. 일단 그렇게하면 가격이없는 아이들을 삭제하십시오. 이 작업을 완료하면 두 단계를 하나의 쿼리로 결합하십시오. 행운을 빕니다! –

+0

Linq를 XML로 사용하여이 문제를 해결할 수 없었습니다. 그러나 XElements 목록을 반복하여 필터링하여 해결했습니다. – ausgeorge

답변

0

가정으로 당신은로로드하여 XML 예제와 함께하여 XDocument 개체라는 이름의 문서가 있습니다. 이런 식으로해볼 수 있습니다.

IEnumerable<XElement> elements = doc.Descendants("Garage").Elements().Where(e => e.Elements().Any()); 
관련 문제