Bonjour,

je dispose d'un fichier XML avec cette structure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<?xml version="1.0" encoding="UTF-8"?> 
<DONNEES> 
<CLIENT> 
        <NOM>NOM1</NOM> 
        <PRENOM>PRENOM1</PRENOM>  
        <ADRESSE> 
	    <ADD>ADD1</ADD> 
        </ADRESSE> 
        <ADRESSE> 
            <ADD>ADD2</ADD> 
        </ADRESSE> 
    </CLIENT>
 
    <CLIENT> 
        <NOM>NOM2</NOM> 
        <PRENOM>PRENOM2</PRENOM>  
        <ADRESSE> 
	    <ADD>ADD3</ADD> 
        </ADRESSE> 
        <ADRESSE> 
            <ADD>ADD4</ADD> 
        </ADRESSE> 
    </CLIENT>
  </DONNEES>
j'arrive à lister tous les éléments de 1er niveau, mais pas à lister toutes les adresses d'un client (2 adresses par client).

Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
            XElement xelement = XElement.Load("...");
            IEnumerable<XElement> clients = xelement.Elements();
            foreach (var CLIENT in clients)
            {   
                Console.WriteLine(CLIENT.Element("NOM").Value);
                Console.WriteLine(CLIENT.Element("PRENOM").Value);
 
                foreach (var ADRESSE in clients.Elements("ADRESSE"))
                            {
                                Console.WriteLine(ADRESSE.Element("ADD").Value);
                             }
             }
ceci affiche toutes les adresses de tous les clients par clients.
J'ai essayé d'utiliser la méthode Descendants au lieu de la méthode Éléments mais je n'ai pas réussi.
Auriez-vous une piste de recherche ?