La cuestión Gabriel, es que el código que te envíe lo empleo en importaciones XML con schema.
He probado a quitarle el esquema y me da el mismo error que a ti Saludos Juan España Agüera (Málaga España) <http://www.foxgoing.com/> www.foxgoing.com Descripción: C:\SOFT\Firma_archivos\image001.gif952 282 280 Descripción: C:\SOFT\Firma_archivos\image002.gif687 819 699 Descripción: C:\SOFT\Firma_archivos\[email protected] De: [email protected] [mailto:[email protected]] En nombre de Gabo Rodriguez Enviado el: lunes, 14 de enero de 2013 21:15 Para: GUFA List Member Asunto: [GUFA] Leer multiples tablas de un archivo XML Hola Juan, O sea que a vos te pasa lo mismo, pero solo con el XML de pedidos que yo te pasé o con cualquiera ? Es raro porque en la web todos los ejemplos que encuentro dicen que deberia andar bien? Saludos Gabriel Rodriguez (Buenos Aires - Argentina) _____ From: [email protected] To: [email protected] Subject: [GUFA] Leer multiples tablas de un archivo XML Date: Mon, 14 Jan 2013 20:16:05 +0100 Es cierto Gabriel, marca el error que citas Lo he estado probando y no encuentro la causa Saludos Juan España Agüera (Málaga España) <http://www.foxgoing.com/> www.foxgoing.com Descripción: C:\SOFT\Firma_archivos\image001.gif952 282 280 Descripción: C:\SOFT\Firma_archivos\image002.gif687 819 699 Descripción: C:\SOFT\Firma_archivos\[email protected] De: [email protected] [mailto:[email protected]] En nombre de Gabo Rodriguez Enviado el: lunes, 14 de enero de 2013 18:32 Para: GUFA List Member Asunto: [GUFA] Leer multiples tablas de un archivo XML Hola Juan, Gracias por responder. Acabo de ejecutar tu codigo y al hacer el oMyAdapter.Tables..Item(1).ToCursor() me muestra el siguiente error : "El indice o la expresion no coinciden con un miembro existente de la colección" Por otra parte probe con 3 archivos xml distintos todos del tipo <?xml version="1.0" encoding="UTF-8"?> Y para ver si cargo alguna tabla despues de hacer el LoadXML verifico la propiedad: "oMyAdapter.Tables.Count" entiendo que deberia darme la cantidad de tablas leidas y me da CERO Estoy usando la version de VFP 9.0 SP1 Tal vez tenga un error el archivo XML te reproduzco uno de ellos : <?xml version="1.0" encoding="UTF-8"?> <pedidos> <pedidoCab> <nombre>Francis Albert Sinatra</nombre> <nro_ped>0150</nro_ped> <fecha>2012-Ol-28</fecha> <total>400.50</total> <pedidoLin> <descrip>Bomba de agua</descrip> <cod_rub>030</cod_rub> <cod_art>0102</cod_art> <precio>250.25</precio> </pedidoLin> <pedidoLin> <descrip>Llave de paso</descrip> <cod_rub>042</cod_rub> <cod_art>0344</cod_art> <precio>150.25</precio> </pedidoLin> </pedidoCab> <pedidoCab> <nombre>Gen Kelly</nombre> <nro_ped>0151</nro_ped> <fecha>2012-Ol-28</fecha> <total>500.00</total> <pedidoLin> <descrip>Plancha elevadora</descrip> <cod_rub>030</cod_rub> <cod_art>0752</cod_art> <precio>300.00</precio> </pedidoLin> <pedidoLin> <descrip>Horno de coccion</descrip> <cod_rub>044</cod_rub> <cod_art>0147</cod_art> <precio>200.00</precio> </pedidoLin> </pedidoCab> </pedidos> Saludos Gabriel Rodriguez (Buenos Aires - Argentina) _____ From: [email protected] To: [email protected] Subject: [GUFA] Leer multiples tablas de un archivo XML Date: Mon, 14 Jan 2013 17:17:54 +0100 Esto, sin más, es lo que utilizo para generar dos cursores a partir de un XML anidado: cORIGEN=ALLTRIM(C:\TMP\ARCHIVO.XML) oMyAdapter=CREATEOBJECT("xmladapter") oMyAdapter.LoadXML(cORIGEN,.T.,.T.) oMyAdapter.Tables.Item(1).ToCursor() && Crea la tabla Nº 1 oMyAdapter.Tables.Item(2).ToCursor() && Crea la Tabla Nº 2 Saludos Juan España Agüera (Málaga España) <http://www.foxgoing.com/> www.foxgoing.com Descripción: C:\SOFT\Firma_archivos\image001.gif <http://image001.gif%4001CDF293.FB954330> 952 282 280 Descripción: C:\SOFT\Firma_archivos\image002.gif <http://image002.gif%4001CDF293.FB954330> 687 819 699 Descripción: C:\SOFT\Firma_archivos\image003.gif <http://image003.gif%4001CDF293.FB954330> [email protected] De: [email protected] [mailto:[email protected]] En nombre de Gabo Rodriguez Enviado el: lunes, 14 de enero de 2013 17:04 Para: GUFA List Member Asunto: [GUFA] Leer multiples tablas de un archivo XML 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 ---------------------------------------------------------------------------- ----------------------- Texto añadido por Panda GP 2012: Este mensaje NO ha sido clasificado como SPAM. Si se trata de un mensaje de correo no solicitado (SPAM), haz clic en el siguiente vínculo para reclasificarlo: ¡Es SPAM! <http://localhost:6083/Panda?ID=pav_3104&SPAM=true&path=C:%20%20%20%20Docum entsand%20%20%20%20%20%20%20%20%20%20%20Èettings%20%20%20%20Dusuario%20%20%2 0%208Configuraci·3b3n%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2064220cal%2 0%20%20%20øDatos%20%20%20%20%20%20%20%20%20%20%20131112977e%20%20%20%20%20%2 0%20%20%20%20%20%2007D03D38rograma%20%20%20%20%0d%0aPandaecurity%20%20%20%20 -Panda%20%20%20%20%20%20%20%204.47594E-091lobalProtection%5cAntiSpam> ---------------------------------------------------------------------------- --------- ---------------------------------------------------------------------------- ----------------------- Texto añadido por Panda GP 2012: Este mensaje NO ha sido clasificado como SPAM. Si se trata de un mensaje de correo no solicitado (SPAM), haz clic en el siguiente vínculo para reclasificarlo: ¡Es SPAM! <http://localhost:6083/Panda?ID=pav_3107&SPAM=true&path=C:\Documents%20and%2 0Settings\usuario\Configuración%20local\Datos%20de%20programa\Panda%20Securi ty\Panda%20Global%20Protection%202012\AntiSpam> ---------------------------------------------------------------------------- -----------------------
<<image001.gif>>
<<image002.gif>>
<<image003.gif>>
