2014-03-04 4 views
0

특정 값을 가진 xml 요소가 있는지 확인하고 싶습니다. 많은 예제가 있지만 이들 모두는 여러 자식 노드를 가지고 있지만 내 노드는 없습니다. xml 요소가 있는지 확인하십시오 (자식 노드 없음)

내 XML입니다 :

<?xml version='1.0' encoding='UTF-8'?> 
<data> 
<cocktail>1</cocktail> 
<cocktail>2</cocktail> 
<cocktail>3</cocktail> 
</data> 

C 번호 :

XDocument doc = XDocument.Load(stream, LoadOptions.None); 
bool b = (from cocktail in doc.Root.Elements("data") 
    where (bool)cocktail.Name.Equals(name) select cocktail).Any(); 
+0

"칵테일"요소가 있는지 여부를 알고 싶습니까? 왜 단순히 SelectXmlNodes (".// cocktail")를 사용하고 카운트를 확인하지 않는가? –

+0

괜찮 았나 모르겠지만 어쩌면'name '에 저장되어있는'value'와 함께'cocktail' 요소가 있는지 확인하고 싶습니다 – JelleKerkstra

+0

'doc.Root.Elements ("data ")', doc.Root는 이미'data' 엘리먼트입니다. 저 사람 한테 물린거야. –

답변

3

귀하의 질문은 완전하지 않다 (변수 name 내가이 존재하는지 여부를 확인하고자하는 값을 포함) 명확하지만 루트 요소에 name 값을 가진 <cocktail> 자식이 있는지를 알고 싶다면 다음과 같이 작동합니다.

+0

나는 Query Expressions 대신 Fluent API로 작업하는 것을 선호합니다. –

관련 문제