2009-08-25 8 views
1

J'ai une structure XML comme ceci:LINQ to Xml requête

<Items> 
    <Configuration> 
     <ConfigurationSetting>Setting1</ConfigurationSetting> 
     <ConfigurationSetting>Setting2</ConfigurationSetting> 
    </Configuration> 
    <MetaData> 
    ... 
    </MetaData> 
    <Group> 
     <GroupType>MyType1</GroupType> 
     <GroupType>MyType2</GroupType> 
    </Group> 
    <Group> <--- Looking for this Element 
     <Reference>MyReference1</Reference> 
     <Reference>MyReference2</Reference> 
    </Group> 
    <Group> 
     <GroupType>MyType3</GroupType> 
     <GroupType>MyType4</GroupType> 
    </Group> 
</Items> 

Je veux écrire une requête Linq qui retourne le premier « groupe » élément qui contient un sous-élément « Référence » .

Merci pour votre aide.

Répondre

8

Quelque chose comme:

 var grp = doc.Root.Elements("Group") 
      .Where(g => g.Elements("Reference").Any()) 
      .FirstOrDefault(); 

Ou comme XPath (peut-être XmlDocument): @"/Items/Group[Reference]"

+0

je l'ai fait tout essayer, mais cela n'a pas fonctionné .. coudn't croire que la solution est facile ;-) Je vous remercie! – gsharp