[VBS] Récupérer du contenu XML
ghFrankfurt
Messages postés
227
Statut
Membre
-
ghFrankfurt Messages postés 227 Statut Membre -
ghFrankfurt Messages postés 227 Statut Membre -
Bonjour,
Je vous expose mon problème :
J'ai (une partie) d'un fichier xml qui se présente comme qui suit ;
Je dois récupérer le texte en anglais pour mettre dans une variable X et celui en français dans une variable Y.
J'ai essayé de cette manière dans un premier temps
Avec GetElementText j'appel cette fonction
Mais je récupère seulement le texte en anglais 2x de suite.
Je précise que je n'ai que très peux touché au vb/vbs/vba et c'est la première fois que je récupère des info en XML avec.
Merci d'avance pour votre aide ! :)
Je vous expose mon problème :
J'ai (une partie) d'un fichier xml qui se présente comme qui suit ;
- <BULLETIN datevaldeb="DD/MM/YYYY" datevalfin="DD/MM/2010">
- <LANGUE val="en">
<LIGNE />
<LIGNE />
<LIGNE>Sunny morning, more</LIGNE>
<LIGNE>cloudy in the afternoon</LIGNE>
<LIGNE>Light wind from</LIGNE>
<LIGNE>Northeast.</LIGNE>
<LIGNE />
<LIGNE />
</LANGUE>
- <LANGUE val="fr">
<LIGNE>Journee bien</LIGNE>
<LIGNE>ensoleillee.Des cumulus</LIGNE>
<LIGNE>se forment sur les</LIGNE>
<LIGNE>hauteurs occasionnant un</LIGNE>
<LIGNE>petit risque d'averse en</LIGNE>
<LIGNE>fin de journee.Vent</LIGNE>
<LIGNE>faible .Quelques rafales</LIGNE>
<LIGNE>sur la frontiere</LIGNE>
</LANGUE>
</BULLETIN>
Je dois récupérer le texte en anglais pour mettre dans une variable X et celui en français dans une variable Y.
J'ai essayé de cette manière dans un premier temps
Set bulletinElements = docElement.getElementsByTagName("BULLETIN")
Set langueElements = docElement.getElementsByTagName("LANGUE")
For Each bulletinElement in bulletinElements
For Each langueElement in langueElements
test = GetElementText(bulletinElement, "LANGUE")
msgbox test
Next
Next
Avec GetElementText j'appel cette fonction
Function GetElementText(xmlObject, tagname)
Dim xmlElements
Set xmlElements = xmlObject.getElementsByTagName(tagname)
If (xmlElements.Length > 0) Then
GetElementText = xmlElements.item(0).text
Else
GetElementText = ""
End If
End Function
Mais je récupère seulement le texte en anglais 2x de suite.
Je précise que je n'ai que très peux touché au vb/vbs/vba et c'est la première fois que je récupère des info en XML avec.
Merci d'avance pour votre aide ! :)
A voir également:
- [VBS] Récupérer du contenu XML
- Recuperer message whatsapp supprimé - Guide
- Vbs windows - Accueil - Optimisation
- Xml viewer - Télécharger - Édition & Programmation
- Word a trouvé du contenu illisible - Guide
- Récupérer mon compte facebook désactivé - Guide
1 réponse
J'ai essayé d'une autre manière en faisant comme ceci :
test1 me ressort rien (car la dernière ligne de la partie en anglais est vide)
test2 me ressort "sur la frontiere"
Donc je m'y rapproche, mais n'y a t'il pas un moyen de récupérer tout le contenu jusqu'au lastChild ? Merci :)
For Each langueElement in langueElements
If (langueElement.getAttribute("val")= "en") Then
test2 = langueElement.lastChild.text
msgbox "test1 : " & test1
ElseIf (langueElement.getAttribute("val")= "fr") Then
test2 = langueElement.lastChild.text
msgbox "test2 : " & test2
End If
Next
test1 me ressort rien (car la dernière ligne de la partie en anglais est vide)
test2 me ressort "sur la frontiere"
Donc je m'y rapproche, mais n'y a t'il pas un moyen de récupérer tout le contenu jusqu'au lastChild ? Merci :)