Bonjour,

Je souhaite lire à l'aide de XmlDocument un fichier XML... tout parait très simple, et pourtant je suis bloquée au niveau d'une balise...

J'arrive à parcourir toutes les balises, sauf la seconde balise "fille" c'est à dire la balise <statuts>.... Faut-il utiliser la méthode parentNodes afin de remonter dans l'arborescence ? Avez vous des idées pour reccuperer mes informations dans les balises <statuts>

Voici mon fichier XML et le code que j'ai réalisé en dessous

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
26
27
28
29
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<folder path="images">
    <nbpicture>3</nbpicture>
    <fields>
      <field>
        <numero>001</numero>
        <name>Evènement</name>
      </field>
      <field>
        <numero>002</numero>
        <name>Date</name>
      </field>
   </fields>
   <statuts>
      <statut>
         <label>Publié</label>
         <color>-128</color>
      </statut>
      <statut>
         <label>Indexé</label>
         <color>-8323328</color>
       </statut>
       <statut>
         <label>A traiter</label>
         <color>-1</color>
       </statut>
    </statuts>
</folder>
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
 
Dim noeud, noeudEnf, noeudItems, noeudItem, noeudFields, noeudField,  As XmlNode
 
Dim elementPicture As XmlNodeList
 elementFolder = XmlDoc.DocumentElement.GetElementsByTagName("folder")
 
For Each noeud In elementFolder
   _folderRecept.path = noeud.Attributes("path").Value
   For Each noeudFieldEnf In noeudField.ChildNodes
        Select Case noeudFieldEnf.LocalName
               Case "nbPicture"
                        _folderRecept.nbPictures = noeudFieldEnf.InnerText
        End Select
        For Each noeudFields In noeudEnf.ChildNodes
                   For Each noeudField In noeudFields.ChildNodes
                        Dim field As New IndexRecept
                        Select Case noeudField.LocalName
                            Case "numero"
                                field.num = noeudField.InnerText
                            Case "name"
                                field.name = noeudField.InnerText
                        End Select
                        _folderRecept.IndexList.Add(field)
                   Next
         Next
 
        For Each noeudItems In noeudEnf.ChildNodes
                   For Each noeudItem In noeudItems.ChildNodes
                        Dim itemFolder As New Item
                        Select Case noeudItem.LocalName
                            Case "label"
                                itemFolder.libelle= noeudItem.InnerText
                            Case "color"
                                itemFolder.color = Color.FromArgb(Integer.Parse(noeudItem.InnerText))
                        End Select
                        _folderRecept.ItemList.Add(itemFolder)
                   Next
        Next
    Next 
Next

Merci d'avance pour vos réponses / conseils