2010-04-29 5 views
0

J'ai la structure XML suivante ...LINQ pour XML aide de requêtes nécessaires

<Fields> 
    <Field> 
     <Company>My Company</Company> 
    </Field> 
    <Field> 
     <Address2>Villa at beach</Address2> 
    </Field> 
    <Field> 
     <Email2>[email protected]</Email2> 
    </Field> 
    <Field> 
     <Mobile>333-888</Mobile> 
    </Field> 
    <Field> 
     <ContactMethod>Facebook</ContactMethod> 
    </Field> 
</Fields> 

Je voudrais savoir comment obtenir le nom de l'élément en utilisant LINQ? Quelque chose comme ceci:

var fields = (from field in contact.XmlFields.Descendants("Field") 
        select new ContactXmlView {Field = ...,Value = ...}); 

Je voudrais que la sortie soit quelque chose comme ceci:

Company: My Company 
Address2: Villa at beach... 

Répondre

1

En supposant que vous avez un seul descendant pour chaque noeud "Champ":

var fields = (from field in contact.XmlFields.Descendants("Field") 
          select new ContactXmlView 
          { 
           Field = field.Descendants().First().Name, 
           Value = field.Descendants().First().Value 
          }); 
+0

Olivier , Je vous remercie! –