Erreur procedure Property Let non définie et Property Yet ne renvoie pas d'objet

Le
teddy
Bonjour à tous,

Voici un début de code d'une fonction pour "parser" des fichiers XML en VB6
:

Dim s As String
Dim xNode1 As String

Dim XMLDoc As New MSXML2.DOMDocument60
Dim Node1 As MSXML2.IXMLDOMNode

XMLDoc.async = False
' Chargement fichier
If Not XMLDoc.Load(Tfile) Then
MsgBox "M1_F300_XML_PARSER - ERROR XMLDoc.Load"
End If

' Cette erreur (voir objet du courriel) se produit lorsque le programme
rencontre la 1ère boucle For Next :

For Each Node1 In XMLDoc.documentElement.childNodes
If Node1.nodeType <> NODE_TEXT Then
xNode1 = Node1.nodeName
If Node1.childNodes.Length < 2 Then
s = s & xNode1 & Delimiter & Node1.nodeTypedValue &
vbCrLf
Else
xNode1 = Left(xNode1, NodeLength)
End If
End If
For Each Node2 In Node1.childNodes
.:traitements pour noeuds suivants..
Next
Next

Auriez-vous un avis sur le porblème ?
Merci beaucoup.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
teddy
Le #15353131
Petite précision, je parse des fichiers XML peut-être mal "formaté" mais on
me les envoie tels quels.

L'erreur se produit dans la partie 2 (ci-dessous) quand par erreur
Node2.nodeName a la valeur "#text" au lieu d'un vrai nom de noeud :

For Each Node2 In Node1.childNodes
MsgBox "1:" & Node2.nodeName
If Node2.nodeType <> NODE_TEXT Then
MsgBox "2"
End if
Next



" teddy"
Bonjour à tous,

Voici un début de code d'une fonction pour "parser" des fichiers XML en
VB6 :

Dim s As String
Dim xNode1 As String

Dim XMLDoc As New MSXML2.DOMDocument60
Dim Node1 As MSXML2.IXMLDOMNode

XMLDoc.async = False
' Chargement fichier
If Not XMLDoc.Load(Tfile) Then
MsgBox "M1_F300_XML_PARSER - ERROR XMLDoc.Load"
End If

' Cette erreur (voir objet du courriel) se produit lorsque le programme
rencontre la 1ère boucle For Next :

For Each Node1 In XMLDoc.documentElement.childNodes
If Node1.nodeType <> NODE_TEXT Then
xNode1 = Node1.nodeName
If Node1.childNodes.Length < 2 Then
s = s & xNode1 & Delimiter & Node1.nodeTypedValue &
vbCrLf
Else
xNode1 = Left(xNode1, NodeLength)
End If
End If
For Each Node2 In Node1.childNodes
....:traitements pour noeuds suivants.....
Next
Next

Auriez-vous un avis sur le porblème ?
Merci beaucoup.



teddy
Le #15353071
J'ai résolu mon problème qui vient de fichier XML apparemment mal écrits.
Je suis obligé de filtrer les noms de noeuds NodeX.nodeName qui ramènent
systématiquement une valeur #text au premier noeud.


" teddy"
Petite précision, je parse des fichiers XML peut-être mal "formaté" mais
on me les envoie tels quels.

L'erreur se produit dans la partie 2 (ci-dessous) quand par erreur
Node2.nodeName a la valeur "#text" au lieu d'un vrai nom de noeud :

For Each Node2 In Node1.childNodes
MsgBox "1:" & Node2.nodeName
If Node2.nodeType <> NODE_TEXT Then
MsgBox "2"
End if
Next



" teddy"
Bonjour à tous,

Voici un début de code d'une fonction pour "parser" des fichiers XML en
VB6 :

Dim s As String
Dim xNode1 As String

Dim XMLDoc As New MSXML2.DOMDocument60
Dim Node1 As MSXML2.IXMLDOMNode

XMLDoc.async = False
' Chargement fichier
If Not XMLDoc.Load(Tfile) Then
MsgBox "M1_F300_XML_PARSER - ERROR XMLDoc.Load"
End If

' Cette erreur (voir objet du courriel) se produit lorsque le programme
rencontre la 1ère boucle For Next :

For Each Node1 In XMLDoc.documentElement.childNodes
If Node1.nodeType <> NODE_TEXT Then
xNode1 = Node1.nodeName
If Node1.childNodes.Length < 2 Then
s = s & xNode1 & Delimiter & Node1.nodeTypedValue &
vbCrLf
Else
xNode1 = Left(xNode1, NodeLength)
End If
End If
For Each Node2 In Node1.childNodes
....:traitements pour noeuds suivants.....
Next
Next

Auriez-vous un avis sur le porblème ?
Merci beaucoup.







Publicité
Poster une réponse
Anonyme