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 42 43 44 45 46 47 48 49
|
Option Explicit
Sub TutoBaptisteWICHT2()
Dim xmlDoc As Object
Dim personneElement, enfantElement As Object
Dim enfants As Object
Dim nom, prenom, etat, age As String
Dim text, nomEnfant, prenomEnfant As String
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.Async = "false"
xmlDoc.Load (ThisWorkbook.Path & "\personnes.xml")
For Each personneElement In xmlDoc.SelectNodes("/personnes/personne")
'on recupère les éléments sur la personne
nom = personneElement.SelectSingleNode("nom").text
prenom = personneElement.SelectSingleNode("prenom").text
etat = personneElement.SelectSingleNode("etat").text
age = personneElement.getAttribute("age")
'MsgBox ("Nom : " & nom & vbCrLf & _
'"Prenom : " & prenom & vbCrLf & _
' "Etat civil : " & etat & vbCrLf & _
' "Age : " & age)
Set enfants = personneElement.SelectNodes("enfants/enfant")
'S'il y a des enfants
If enfants.lenght > 0 Then
text = prenom & " " & nom & " a des enfants :"
'On boucle sur tous les enfants
For Each enfantElement In enfants
nomEnfant = enfantElement.SelectSingleNode("nom").text
prenomEnfant = enfantElement.SelectSingleNode("prenom").text
text = text & vbCrLf & "-" & prenomEnfant & " " & nomEnfant
MsgBox (text)
Next
Else
MsgBox (prenom & " " & nom & " n'a pas d'enfants")
End If
Next
Set xmlDoc = Nothing
End Sub |