2008-09-24 8 views
2

Si j'avais un peu XML comme celui chargé dans un objet XDocument:requête pour récupérer les noms des noeuds du groupe

<Root> 
    <GroupA> 
     <Item attrib1="aaa" attrib2="000" /> 
    </GroupA> 
    <GroupB> 
     <Item attrib1="bbb" attrib2="111" /> 
     <Item attrib1="ccc" attrib2="222" /> 
     <Item attrib1="ddd" attrib2="333" /> 
    </GroupB> 
    <GroupC> 
     <Item attrib1="eee" attrib2="444" /> 
     <Item attrib1="fff" attrib2="555" /> 
    </GroupC> 
</Root> 

Que serait une requête RESSEMBLE-pour récupérer les noms des noeuds du groupe?

Par exemple, je voudrais une requête pour renvoyer:

GroupA 
GroupB 
GroupC 

Répondre

8

Quelque chose comme ceci:

XDocument doc; // populate somehow 

// this will give the names as XName 
var names = from child in doc.Root.Elements() 
      select child.Name; 

// if you want just the local (no-namespaces) name as a string, use this 
var simpleNames = from child in doc.Root.Elements() 
        select child.Name.LocalName; 
+0

LocalName ... voilà! THX :) – Bullines

Questions connexes