Hola Gente.

Estoy necesitando leer 2 tablas (cabera y detalle) guardadas en un archivo XML 
y no consigo hacerlo.

Este es el codigo de "José G. Samper" que estoy intentando ejecutar pero una 
vez que hace el loadXML siempre me queda el "loXmladapter.Tables.Count=0"

Local loXmladapter As Xmladapter
Local lcDataset As String,loXML As MSXML.DOMDocument
** Creamos el objecto xmladapter
loXmladapter=Createobject("XMLAdapter")
** Creamos el Objecto dom para validar el xml
loXML=Createobject("MSXML.DOMDocument")
**loXmladapter.ReleaseXML(.T.)
**Solicitamos el archivo XML
lcDataset=Getfile("XML","Seleccione XML a procesar","Abrir",0,"Dataset de 
ADO.Net")
If !Empty(lcDataset) And loXML.Load(lcDataset)
        ** Interpretamos el XML 
        loXmladapter.LoadXML(lcDataset,.T.,.t.) 
Else
        =Messagebox("No ha indicado un archivo XML válido",64,"PortalFox")
        Return .F.
Endif
** Determinar y examinar las tablas del Dataset
For i = 1 To loXmladapter.Tables.Count   && (SIEMPRE ME QUEDA EL Count en cero)
        lcAlias = loXmladapter.Tables.Item(i).Alias
        If Used(lcAlias)
                Use In (lcAlias)
        Endif
        *** Establecemos el esquema
        If Upper(Alltrim('products')) = Upper(Alltrim(lcAlias)) Or;
                        Upper(Alltrim('suppliers')) = Upper(Alltrim(lcAlias))
                loXmladapter.Tables(i).Fields(2).DataType = "C"
                loXmladapter.Tables(i).Fields(2).MaxLength = 50
        Endif
        **llevamos la tabla xml a un cursor VFP
        loXmladapter.Tables.Item(i).ToCursor()
        Select(lcAlias)
        Go Top In (lcAlias)
        Browse
Next

Gracias. 

Gabriel Rodriguez
                                          

Responder a