Bonjour à tous,

Je commence à comprendre le fonctionnement du DOM et j'ai pu produire ou reproduire certains scripts permettant la lecture et l'extraction de données présentes dans un fichier XML.

Cependant la plus part de mes lecture présentent du code appliqué à un fichier présentant une profondeur de "NOEUDS" définie. ci-dessous un exemple de code qui marche très bien pour 3 niveaux à partir d'un noeud selectionné :

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
 
Sub W3C1()
 
Dim xmlDoc As Object
Dim RacineElement, BookElement As Object
 
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
 
xmlDoc.Async = "false"
xmlDoc.Load (ThisWorkbook.Path & "\BOOKSHOP.xml")
 
Set RacineElement = xmlDoc.SelectNodes("//bookstore")
 
Dim Nv1, Nv2, Nv3 As Object
 
For Each Nv1 In RacineElement
    Debug.Print Nv1.BaseName & vbCrLf
    For Each Nv2 In Nv1.ChildNodes
        Debug.Print Nv2.BaseName
        For Each Nv3 In Nv2.ChildNodes
            Debug.Print Nv3.BaseName & " : " & Nv3.text
        Next
        Debug.Print vbCrLf
    Next
Next
 
 
Set xmlDoc = Nothing
 
End Sub
Au cas présent, le fichier xml utilisé est tiré d'un exemple tiré de ce site : https://www.w3schools.com/xml/dom_intro.asp


Ma question : Est-il possible techniquement d'adapter ce code à N noeuds enfants ?

Merci d'avance pour vos retours !
Très cordialement