vb6 xml

pirtrafilla
13 de Junio del 2004
Buenas.
Estoy trabando en un pequeño proyecto para desde vb6 leer un xml.
De momento he empezado con un procedimiento para validar el fichero, pero me surge un problema.
Cuando el fichero que trato está predeterminado bien, pero si lo quier buscar con una cuadro de diálogo, entonces me lío.
Os escribo los dos codigos, el primero va bien, pero el segundo no.
Gracias de antemano.

Este tiene seleccionado por defecto un fichero llamado "Archivo.xml":

Public Sub VALIDARXML()
Dim xmlOrigen As DOMDocument
Dim xmlString As String
Dim blnValido As Boolean
Set xmlOrigen = New DOMDocument
xmlOrigen.async = False
xmlOrigen.validateOnParse = False
xmlOrigen.resolveExternals = True
'Se carga un fichero xml llamado "Archivo"
If xmlOrigen.Load("Archivo.xml") Then
'se pudo cargar
MsgBox "El documento es válido"
Else
'no se pudo cargar
MsgBox "El documento no es válido"
End If
End Sub


Este otro es el que me da problemas y no consigo que me carge el fichero que yo eligo:

Public Sub VALIDARXML_DIALOGO()
Dim xmlOrigen As DOMDocument
Dim xmlString As String
Dim blnValido As Boolean
Set xmlOrigen = New DOMDocument
xmlOrigen.async = False
xmlOrigen.validateOnParse = False
xmlOrigen.resolveExternals = True
'Se abre un cuadro de diálogo para buscar un fichero xml
CD1.Filter = "Ficheros xml (*.xml)|"
CD1.ShowOpen
Dim Numerofichero As Integer
Numerofichero = FreeFile
Open CD1.FileTitle For Input As Numerofichero
If xmlOrigen.Load(FileName) Then
'se pudo cargar
MsgBox "El documento es válido"
Else
'no se pudo cargar
MsgBox "El documento no es válido"
End If
End Sub


Parece que la línea de codigo donde digo:
If xmlOrigen.Load(FileName) Then
no debe ser la correcta.

Saludos.

Pirtrafilla
13 de Junio del 2004
If xmlOrigen.Load(CD1.FileName) Then

Esta era la línea correcta.
Saludos.


pirtrafilla
13 de Junio del 2004
¿Alguien me hecha una manilla?

Saludos.

dahlan
13 de Junio del 2004
La verdad es que no he trabajado con XML pero así, a simple vista yo diría que el error puede estar en esta línea:

Open CD1.FileTitle For Input As Numerofichero

Es muy posible que al tener abierto el fichero, no puedas cargarlo. Problemas de bloqueos y esas cosas.

Espero que te sirva de ayuda.