XML : Charger une page xml dans une variable

Résolu
cs_rol Messages postés 2 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 30 mai 2010 - 29 mai 2010 à 22:50
 Utilisateur anonyme - 31 mai 2010 à 20:58
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

Utilisateur anonyme
30 mai 2010 à 11:40
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.
3
Utilisateur anonyme
30 mai 2010 à 11:50
désolé j'avais pas remarqué que c'était du Visual Basic 6.
une bonne raison de passer a la version supérieure
3
cs_rol Messages postés 2 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 30 mai 2010
30 mai 2010 à 22:08
Merci pour ta réponse.

Donc pas moyen de trouver une solution avec VB6.

Il faut vb.net ?


PAPOUNET
0
Utilisateur anonyme
31 mai 2010 à 20:58
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.
0
Rejoignez-nous