Bonjour,
Je rencontre un léger souci de lecture XML, je n'arrive pas à sélectionner les noeuds nécessaires au traitement que je souhaite effectuer. Le problème est que les méthodes SelectNodes et SelectSingleNode de mon XMLDocument ne me retourne jamais rien
Voici la structure de mon fichier XML :
Code XML : 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 <?xml version="1.0" encoding="UTF-8"?> <file:ProcessType> <context confirmationNeeded="false" name="DEV"> <contextParameter comment="" name="unNom" /> <!-- d'autres contextParameter --> </context> <parameter> <elementParameter comment="" name="unAutreNom" /> <!-- d'autres elementParameter --> <node> <elementParameter comment="" name="unAutreNom" /> <!-- d'autres elementParameter --> </node> <node> <elementParameter comment="" name="unAutreNom" /> <!-- d'autres elementParameter --> </node> </file:ProcessType>
Je lis les informations contenus dans les balises context et parameters avec un XMLTextReader, pas de soucis pour ça, ça fonctionne bien.
Mais dans la seconde partie de mon algo, je souhaite récupérer l'ensemble des noeuds "node", afin de lire tous les noeuds enfants elementParameter.
Une version épurée de mon code ressemble à ceci :
Code VB.NET : 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 Public Sub getJob(ByVal filepath As String) Dim xml As New XmlDocument() xml.Load(filepath) ' filepath étant le chemin de mon fichier XML Dim xmlComponentList As XmlNodeList = xml.DocumentElement.SelectNodes("node") For Each xmlComponent As XmlNode In xmlComponentList 'Ici un traitement quelconque ' ' ' Puis la boucle sur les noeuds enfants For Each elementParameter As XmlNode In xmlComponent.ChildNodes ' Un autre traitement Next Next ' ' ' End Sub
C'est donc la méthode SelectNodes qui semble poser problème. J'ai également essayé de l'appeler directement depuis l'objet "xml", et non sur son DocumentElement. En vain.
A noter que le fichier est bien chargé dans le XMLDocument, je vois bien dans
son InnerXML l'ensemble du fichier, mais impossible d'en récupérer uniquement le noeud voulu...
Serait-il possible que vous jetiez un coup d'oeil, et m'éclairer sur ce qui ne va pas ?![]()
Merci d'avance.
Partager