Error al leer XML

Error al leer XML

Postby servicomver » Wed Jun 10, 2015 9:01 pm

Hola, estoy tratando de leer un XML de la siguiente forma:

hFile := FOpen(Archivo2)
oXmlDoc := TXmlDocument():New( hFile )
oXmlIter := TXmlIterator():New( oXmlDoc:oRoot )
oDatos:Blank()
aDatos := {}

DO WHILE .T.
oTagActual = oXmlIter:Next()
If oTagActual != nil
HEval( oTagActual:aAttributes, { | cKey, cValue | Guarda_XML_Valores( oDatos, cKey, cValue,oTagActual:cName ) } )
Else
Exit
Endif
ENDDO

Pasa lo siguiente:
Si el XML inicia como a continuacion, lee correctamente los nodos sin ningun problema
<?xml version="1.0" encoding="UTF-8"?>
-<cfdi:Comprobante version="3.2" Moneda="MXN" LugarExpedicion="VERACRUZ, Veracruz" tipoDeComprobante="ingreso" folio="2358" serie="E" total="340.11" subTotal="293.20" fecha="2015-06-10T10:24:57" sello="ooFtoRbvp1hmyYQVYoTP9JfV8LpIemtFhB//PIlFD24hBUuuq3vs0FaV3xVnKVZ12/BveajQa75nUa7PCHrG8umf+T2yj0A0UIHzcBboT0M6w7Y1rc7tO8NmZvankHK93ZOXnajYMWwnXadAY9tvciY3SSgAXaSYtVdP0q92B18=" certificado="MIIEoDCCA4igAwIBAgIUMDAwMDEwMDAwMDAyMDAwODQ0ODAwDQYJKoZIhvcNAQEFBQAwggGVMTgwNgYDVQQDDC9BLkMuIGRlbCBTZXJ2aWNpbyBkZSBBZG1pbmlzdHJhY2nDs24gVHJpYnV0YXJpYTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMSEwHwYJKoZIhvcNAQkBFhJhc2lzbmV0QHNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxFDASBgNVBAcMC0N1YXVodMOpbW9jMRUwEwYDVQQtEwxTQVQ5NzA3MDFOTjMxPjA8BgkqhkiG9w0BCQIML1Jlc3BvbnNhYmxlOiBDZWNpbGlhIEd1aWxsZXJtaW5hIEdhcmPDrWEgR3VlcnJhMB4XDTEyMDExMzIzMzU0MFoXDTE2MDExMzIzMzU0MFowgeExKzApBgNVBAMTIkdSVVBPIEVNUFJFU0FSSUFMIFRFTk9SSU8gU0EgREUgQ1YxKzApBgNVBCkTIkdSVVBPIEVNUFJFU0FSSUFMIFRFTk9SSU8gU0EgREUgQ1YxKzApBgNVBAoTIkdSVVBPIEVNUFJFU0FSSUFMIFRFTk9SSU8gU0EgREUgQ1YxJTAjBgNVBC0THEdFVDk0MDIwMlNVQSAvIFRFT0o1NjAxMDIyQzYxHjAcBgNVBAUTFSAvIFRFT0o1NjAxMDJIUExOTFMwMDERMA8GA1UECxMIU1VDVVJTQUwwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMOlV2i0ys57/sWHvfl6Gtei45aZUc4bq212ylC+U/HLNPwPXGuF7GHP2UlEtul5s18NzWYQGVTeopTI6xHrWpprZ77FYMKEtZ/ULKAjY6+ALjXlvJZgTHh9LNv4chgfwNVGSaumwBAfCz1qEMPVJkUhH8stqL0A72P0JNmFVp/1AgMBAAGjHTAbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMA0GCSqGSIb3DQEBBQUAA4IBAQBxRi9A5lPqEdqyv1k5poGlB5Qy8HgcAZnRwXdmtGHIR+Pk0gfe/bXimQoFYRg90KmAqJH1tQYnwOf/pUFudKoCjjGpwEGOVqibEUFXhZKwpCNDVe/pAxbXy6YtOJE+9qIMXMF5SPYalWGYpSubSE+xZIQ8vSMoqcycyB/TH9Pfg/8C3NI7VQTStcSmNM6YShQqh0r/hvgpMR1G/DFakY2o2XD7pIWHmTe5ZgltTk3sWtTN6XEaVk/9Oe6THTL7GfRxBZCmB1z/2fdfcMe3CSBeH1XG9OApGZ2+FfFaeeMJifo9LwHIcLe+1PZ5pWUyVYnwh5igAjA+3zvrXJmI8Aug" formaDePago="PAGO EN UNA SOLA EXHIBICION" metodoDePago="EFECTIVO" noCertificado="00001000000200084480" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cfdi="http://www.sat.gob.mx/cfd/3">

Pero si inicia asi, ya no hace la "Evaluacion" y se sale del Do WHile
<?xml version="1.0" encoding="UTF-8"?>
-<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd" LugarExpedicion="Veracruz, Veracruz" metodoDePago="No identificado" tipoDeComprobante="ingreso" total="506.00" Moneda="MXN" subTotal="506.00" certificado="MIIEbzCCA1egAwIBAgIUMDAwMDEwMDAwMDAzMDAyNzA4MjQwDQYJKoZIhvcNAQEFBQAwggGKMTgwNgYDVQQDDC9BLkMuIGRlbCBTZXJ2aWNpbyBkZSBBZG1pbmlzdHJhY2nDs24gVHJpYnV0YXJpYTEvMC0GA1UECgwmU2VydmljaW8gZGUgQWRtaW5pc3RyYWNpw7NuIFRyaWJ1dGFyaWExODA2BgNVBAsML0FkbWluaXN0cmFjacOzbiBkZSBTZWd1cmlkYWQgZGUgbGEgSW5mb3JtYWNpw7NuMR8wHQYJKoZIhvcNAQkBFhBhY29kc0BzYXQuZ29iLm14MSYwJAYDVQQJDB1Bdi4gSGlkYWxnbyA3NywgQ29sLiBHdWVycmVybzEOMAwGA1UEEQwFMDYzMDAxCzAJBgNVBAYTAk1YMRkwFwYDVQQIDBBEaXN0cml0byBGZWRlcmFsMRQwEgYDVQQHDAtDdWF1aHTDqW1vYzEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTUwMwYJKoZIhvcNAQkCDCZSZXNwb25zYWJsZTogQ2xhdWRpYSBDb3ZhcnJ1YmlhcyBPY2hvYTAeFw0xMzA2MDcxODMzMzlaFw0xNzA2MDcxODMzMzlaMIG7MSUwIwYDVQQDExxKVUFOIE5PRSBST0RSSUdVRVogUk9EUklHVUVaMSUwIwYDVQQpExxKVUFOIE5PRSBST0RSSUdVRVogUk9EUklHVUVaMSUwIwYDVQQKExxKVUFOIE5PRSBST0RSSUdVRVogUk9EUklHVUVaMRYwFAYDVQQtEw1ST1JKNjYwNzA1VUYzMRswGQYDVQQFExJST1JKNjYwNzA1SFZaREROMDIxDzANBgNVBAsTBlVOSURBRDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAylt4qZqvjhegw/NumPf2UmDfhzncpmdNBIzEFPYXzSI4szum3cNXDz0BwC1sLFETUQVxgXG8iQ/bWEDsmDYSKfYiYDrDWOK/Z8CCkhqO/VaCMNn+1XJ0YPppaU7OcpecMdZZQWi+kZuxVhhOjlcAjYk37g4+IQ+7l4NQHzO5EUMCAwEAAaMdMBswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwDQYJKoZIhvcNAQEFBQADggEBAGnN9uG+ZeQXmDvcK2AVslxOZdGNxBhehWrK5WVjNUBUSQeRJoiUc7CqSnDaO7NV1sj4P1gGCnu3zncrEnQ7NACh7xgPvDXz5veedo5zX6Z9z2n/p+oG3B/gfcZpH+6Ef6+3JcZiwSe+6V5QZcxXnQXaCwstMTPwhWNgJ1fvkxlqibEiDKYQvaYtEJU1H9bDLeYlUUUkCSuqEeLtpiV9mXfp1HtCQz1XD73LuTk5nAV5uYfZBMm39ZXyp3vIN/Lq2ZWZ6DgGMnw8+xJLDUKnexLObScnc3mcv98vfurTSS9zQxY55azpfxODjEyMwpBwvALUE5n45tExjKcBZayw4mI=" noCertificado="00001000000300270824" formaDePago="Pago en una sola exhibición" sello="G+g8VpJ1315ILKap44kCM2b/4FttW90lODvKzduTb6KpVRgmhZdvAJyufkBo6eiEE8/VCnQ8nIfEVQqJsrPkWtb7UgBIrMtHmkBIk+lY/TVQ0X3/Wbt9QQIEK/6hiuPsO9+I493efXzzl5qTF8QJ5h5RC1USVu1gUdJfTIeDtJQ=" fecha="2015-06-10T09:54:47" folio="18027" version="3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">-<cfdi:Emisor nombre="Juan Noé Rodríguez Rodríguez" rfc="RORJ660705UF3">

Donde puedo revisar que lo causa ?, o a que se debe ?, simplemente no avanza los tags, y se sale.

gracias por su ayuda
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Re: Error al leer XML

Postby servicomver » Thu Jun 11, 2015 2:57 am

He estado haciendo muchas pruebas y no he podido hacer que lea ese tipo de XML, lo que veo diferente es que la primera línea no contiene nodos y hace que salga del ciclo, como puedo sacar los datos ?, alguna idea de que es lo que pasa ?

gracias
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Re: Error al leer XML

Postby Antonio Linares » Thu Jun 11, 2015 9:01 am

Revisa los ejemplos FWH\samples\xmlreader.prg y xmltree.prg
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Error al leer XML

Postby servicomver » Thu Jun 11, 2015 3:59 pm

Gracias por contestar, ya hice pruebas y leo la gran mayoria de XML (Facturas electronicas de México, pero este tipo de XML no, se sale del ciclo Do While como si ya no encontrara nada, puede ser las clases que uso esten viejas ?
donde puedo conseguirlas ?.

Si el XML empieza asi o parecido lo leo correctamente
<?xml version="1.0" encoding="UTF-8"?>
+<cfdi:Comprobante version="3.2" Moneda="MXN" LugarExpedicion="VERACRUZ, Veracruz" tipoDeComprobante="ingreso" folio="2358" serie="E" total="340.11" subTotal="293.20" fecha="2015-06-10T10:24:57"

Si el XML empieza asi se sale del ciclo:
<?xml version="1.0" encoding="UTF-8"?>
+<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv32.xsd" LugarExpedicion="Veracruz, Veracruz" metodoDePago="No identificado" tipoDeComprobante="ingreso" total="506.00" Moneda="MXN" subTotal="506.00"

hFile := FOpen(Archivo2)
oXmlDoc := TXmlDocument():New( hFile )
oXmlIter := TXmlIterator():New( oXmlDoc:oRoot )

oDatos:Blank()
aDatos := {}

oXmlNode := oXmlDoc:FindFirst( "Header" )

DO WHILE .T.
oTagActual = oXmlIter:Next()
If oTagActual != nil
cTagName:= oTagActual:cName
cTagData:= oTagActual:cData
HEval( oTagActual:aAttributes, { | cKey, cValue | Guarda_XML_Valores( oDatos, cKey, cValue, oTagActual:cName ) } )
Else
* Exit ///AQUI SE SALE Y YA NO CONTINUA ANALIZANDO
Endif
ENDDO

Gracias por su ayuda, saludos
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Re: Error al leer XML

Postby Enrrique Vertiz » Fri Jun 12, 2015 6:59 am

Saludos

Yo le pondria un PRINT al oTagActual despues de que le cargo el valor del Tag, da la impresion de que esta pasandole un NIL y por lo menos sabrias si lee el primer Tag o no lee nada
Enrrique Vertiz Pitta
Lima-Peru
xHb 1.23.1026X, Fwh 24.09, BCC74, MySQL 8.0.X, SQLLIB 1.9m
Enrrique Vertiz
 
Posts: 541
Joined: Fri Oct 07, 2005 2:17 pm
Location: Lima - Peru


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 70 guests