Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

2 réponses
Avatar
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.

2 réponses

Avatar
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" a écrit dans le message de news:

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.



Avatar
teddy
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" a écrit dans le message de news:

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" a écrit dans le message de news:

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.