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
Partager