[VBS] Récupérer du contenu XML
ghFrankfurt
Messages postés
207
Date d'inscription
Statut
Membre
Dernière intervention
-
ghFrankfurt Messages postés 207 Date d'inscription Statut Membre Dernière intervention -
ghFrankfurt Messages postés 207 Date d'inscription Statut Membre Dernière intervention -
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
- Xml download - Télécharger - Édition & Programmation
- Vbs windows - Accueil - Optimisation
- 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 :)