XML : Charger une page xml dans une variable

Résolu
Messages postés
2
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
30 mai 2010
-
 Utilisateur anonyme -
Bonsoir ou bonjour la communauté,

Voilà, j'ai un soucis pour traiter des données xml en VB6.

J'ai le code suivant que vous connaissez tous :

Private Sub BrowseXMLDocument(ByVal filename As String)

Dim xmlDoc As DOMDocument, root As IXMLDOMElement

Set xmlDoc = New DOMDocument
xmlDoc.async = False
xmlDoc.Load filename
Set root = xmlDoc.documentElement
If Not root Is Nothing Then
Debug.Print root.baseName
BrowseChildNodes root
End If

End Sub

Ceci marche si filename fait référence à un fichier .xml, or j'accède à un site par le biais d'IE et je voudrais stocker la page xml dans une variable que je pourrais lire avec le code suivant que je réaménagerais pour récupérer ce que je veux :

Private Sub BrowseChildNodes(root_node As IXMLDOMNode)

Dim i As Long

For i = 0 To root_node.childNodes.length - 1
If root_node.childNodes.Item(i).nodeType <> 3 Then Debug.Print root_node.childNodes.Item(i).baseName
BrowseChildNodes root_node.childNodes(i)
Next

End Sub

J'utilise ie.navigate et je stocke dans ma variable la page avec les données xml :

Set maPageHtml = ie.Document
StrListePlayer = maPageHtml.documentElement.innerHTML

Mon truc ne marche pas car je pense que je n'ai pas les données au format xml, y a-t-il une solution sans enregistrer les données dans un fichier car je vais avoir du volume à traiter ?

Merci.



PAPOUNET

4 réponses


bonjour,
si StrListePlayer représente une structure XML, tu peux ecrire :
Set maPageHtml = ie.Document
StrListePlayer = maPageHtml.documentElement.innerHTML 
Dim xmldoc As Xml.XmlDocument = New Xml.XmlDocument
xmldoc.LoadXml(StrListePlayer)

et ensuite traiter tes données.
Bonne chance.

désolé j'avais pas remarqué que c'était du Visual Basic 6.
une bonne raison de passer a la version supérieure
Messages postés
2
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
30 mai 2010

Merci pour ta réponse.

Donc pas moyen de trouver une solution avec VB6.

Il faut vb.net ?


PAPOUNET

Bonsoir,
C'était juste une suggestion, si tu te sens plus a l'aise avec la version 6 obsolète c'est ton choix. Du moment que tu arrives à obtenir un résultat, peu importe la manière.
J'espère que tu arrivera à résoudre ton soucis.
A bientôt.