IEnumerable<XElement> foreach

Je voudrais sélectionner tous les éléments d'un

var q = from artikel in xmlSource.Descendants("ART")
    where artikel.Element("ID").Value.Equals("15")
    select artikel.Elements();

 //Does not work
 foreach (var element in q)
 {
    Console.WriteLine("Customer name = {0}", element.Name);
 }

Comment puis-je sortie de tous les éléments? J'ai quelques problèmes avec les itérateurs.

Je ne sais pas maintenant comment effectuer une itération sur un
IEnumerable
avec foreach et accéder à l'élément.Nom de la propriété.

//*** Renseignements Supplémentaires //

Exemple XML

<ARTICLE>
<ART>
<ID>0020209</ID>
<EXP>36</EXP>
<QTY>1</QTY>
<SMCAT>B</SMCAT>
<DSCRD>Example Description 1</DSCRD>
<ARTCOMP>
<COMPNO>10710</COMPNO>
<ROLE>H</ROLE>
<ARTNO1>320059</ARTNO1>
<ARTNO2>320059</ARTNO2>
</ARTCOMP>
<ARTCOMP>
<COMPNO>10710</COMPNO>
<ROLE>V</ROLE>
<ARTNO1>320059</ARTNO1>
<ARTNO2>320059</ARTNO2>
</ARTCOMP>
<ARTBAR>
<CDTYP>E13</CDTYP>
<BC>7680202580475</BC>
<BCSTAT>A</BCSTAT>
</ARTBAR>
<ARTPRI>
<VDAT>2010-12-01T00:00:00+01:00</VDAT>
<PTYP>PEXF</PTYP>
<PRICE>30</PRICE>
</ARTPRI>
</ART>
<ART>
<ID>0020244</ID>
<EXP>60</EXP>
<QTY>30</QTY>
<DSCRD>FERRO GRADUMET Depottabl 30 Stk</DSCRD>
<ARTCOMP>
<COMPNO>1836</COMPNO>
<ROLE>H</ROLE>
<ARTNO1>685230</ARTNO1>
<ARTNO2>685230</ARTNO2>
</ARTCOMP>
<ARTCOMP>
<COMPNO>1836</COMPNO>
<ROLE>V</ROLE>
<ARTNO1>685230</ARTNO1>
<ARTNO2>685230</ARTNO2>
</ARTCOMP>
<ARTCOMP>
<COMPNO>5360</COMPNO>
<ROLE>L</ROLE>
<ARTNO1>685230</ARTNO1>
<ARTNO2>685230</ARTNO2>
</ARTCOMP>
</ART>
</ARTICLE>

J'ai importer ce Fichier XML dans un normalisées Table MySQL. ARTCOMP /ARTBAR sont des tables supplémentaires dans la base de données MySQL Datebase.

Comme début, j'ai voulu créer tous les champs de type varchar() dans le vide d'une Table MySQL. Un autre problème, et pas à chaque élément artistique a les mêmes éléments enfants. Peut-être il ya une meilleure façon de trouver tous les possibles éléments d'enfant (sorte de schéma).

Il n'y a rien de mal avec votre foreach, plus il est probable que votre requête ne retourne pas tous les éléments. Essayez de l'examen q dans le débogueur. Ce que contient-il ?
Non, le code n'est pas compilé. Name n'est pas une propriété de IEnumerable<XElement>...

OriginalL'auteur Brainski | 2011-05-26