VB6 : impossible de lire du XML [Résolu]

Messages postés
17
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
8 septembre 2010
- - Dernière réponse : chrismargab
Messages postés
17
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
8 septembre 2010
- 8 sept. 2010 à 05:54
Bonjour,

J'ai le fichier xml suivant :

<?xml version="1.0" encoding="utf-8" ?>
<COMMANDS>
<COMMANDE>
<NOM>service</NOM>
<DESCRIPTION>Gère les services</DESCRIPTION>
[string]
</COMMANDE>
<COMMANDE>
<NOM>hostname</NOM>
<DESCRIPTION>Modifie le nom de la machine</DESCRIPTION>
[string]
</COMMANDE>
</COMMANDS>

J'ai le code suivant :

Option Explicit
Dim commandDoc As New DOMDocument

Private Sub Form_Load()
commandDoc.async = False
commandDoc.Load "d:\commands.xml"
End Sub

Public Function LoadXMLValues() As String
Dim commands As IXMLDOMNodeList
Dim commandNode As IXMLDOMNode
Set commands = commandDoc.selectNodes("//COMMANDE")
CommandList.Clear
For Each commandNode In commands
CommandList.AddItem commandNode.selectSingleNode("NOM").Text
Next
End Function

Et impossible de lire le fichier !
La variable commandNode vaut toujours nothing !
Je précise que je travaille avec VB6.

Quelqu'un peut il m'aider ?

D'avance, merci.
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
22 août 2018
53
3
Merci
Nettoyons, pour commencer, ce code:

Private Sub Form_Load()
Dim oXml As DOMDocument60
Dim oNode As IXMLDOMNode
    Set oXml = New DOMDocument60
    oXml.async = False
    If oXml.Load("C:\Users\Renfield\Desktop\a.xml") Then
        For Each oNode In oXml.selectNodes("COMMANDS/COMMANDE/NOM")
            CommandList.AddItem oNode.Text
        Next
    Else
        MsgBox oXml.parseError.reason, vbExclamation
    End If
End Sub


rapidement, je lis :
encoding="utf-8"


et
<DESCRIPTION>Gère les services</DESCRIPTION>


Je me dis que ton soucis viens de la, comme me le confirme le MsgBox.

fais ceci, par exemple:
<?xml version="1.0" encoding="iso-8859-2" ?>


et tu n'auras plus de souci

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Renfield
Messages postés
17
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
8 septembre 2010
0
Merci
G E N I A L !!!

Merci beaucoup, ça fonctionne enfin.

Christian
Commenter la réponse de chrismargab