Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   leer xml y enviar parametros a .rav (https://www.clubdelphi.com/foros/showthread.php?t=77109)

noelr 22-12-2011 01:26:22

leer xml y enviar parametros a .rav
 
buen dia compañeros he estado buscando y la verdad no he encontrado la solucion, tenemos un webservice con algunas funciones y creare una mas para leer un xml y que me envie los paramtros a un .rav

bueno la complicacion es cuando trato de leer el xml para tomar la informacion de los nodos, lo intente de esta forma pero no logro ningun resultado
Código Delphi [-]
var
   nodos: IXMLNode;
 begin
 XML.LoadFromFile('c:\cfdis\'+uuid+'.xml' );
 XML.Active := True;
 nodos:= XML.DocumentElement.ChildNodes[0];
 ShowMessage( nodos.ChildNodes['cfdi:Comprobante'].Text );
 end;


use un showmessaje para ver si lleva algo mi variable pero me manda un msj en blanco

el xml es parecido a este

Cita:

<?xml version="1.0" encoding="UTF-8"?> <cfdi:Comprobante xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 cfdv3.xsd" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.0" fecha="2010-03-06T20:38:12" sello="tOSe+Ex/wvn33YlGwtfmrJwQ31Crd7lI9VcH63TGjHfxk5vfb3q9uSbDUGk9TXvo70ydOpikRVw+9B2Six0mbu3PjoPpO909oAYITrRyomde UGJ4vmA2/12L86EJLWpU7vIt4cL8HpkEw7TOFhSdpzb/890+jP+C1adBsHU1VHc=" total="488.50" subTotal="488.50" certificado="MIIE/TCCA+WgAwIBAgIUMzAwMDEwMDAwMDAxMDAwMDA4MDAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViY XMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs 24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2Iub XgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXB gNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIh vcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMDA3MzAxNjU4NDBaFw0xMjA3MjkxNjU4NDBaM IGWMRIwEAYDVQQDDAlNYXRyaXogU0ExEjAQBgNVBCkMCU1hdHJpeiBTQTESMBAGA1UECgwJTWF0cml6IFNBMSUwIwYDVQQtExxBQ UEwMTAxMDFBQUEgLyBBQUFBMDEwMTAxQUFBMR4wHAYDVQQFExUgLyBBQUFBMDEwMTAxSERGUlhYMDExETAPBgNVBAsMCFVuaWRhZ CAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD0ltQNthUNUfzq0t1GpIyapjzOn1W5fGM5G/pQyMluCzP9YlVAgBjGgzwYp9Z0J9gadg3y2ZrYDwvv8b72goyRnhnv3bkjVRKlus6LDc00K7Jl23UYzNGlXn5+i0HxxuWonc2GYK FGsN4rFWKVy3Fnpv8Z2D7dNqsVyT5HapEqwIDAQABo4HqMIHnMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMB0GA1UdDgQWBBSYodSwRczzj5H7mcO3+mAyXz+y0DAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vc GtpLnNhdC5nb2IubXgvc2F0LmNybDAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNhdC5nb2IubXgvM B8GA1UdIwQYMBaAFOtZfQQimlONnnEaoFiWKfU54KDFMBAGA1UdIAQJMAcwBQYDKgMEMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GC SqGSIb3DQEBBQUAA4IBAQArHQEorApwqumSn5EqDOAjbezi8fLco1cYES/PD+LQRM1Vb1g7VLE3hR4S5NNBv0bMwwWAr0WfL9lRRj0PMKLorO8y4TJjRU8MiYXfzSuKYL5Z16kW8zlVHw7CtmjhfjoIMwjQo3p rifWxFv7VpfIBstKKShU0qB6KzUUNwg2Ola4t4gg2JJcBmyIAIInHSGoeinR2V1tQ10aRqJdXkGin4WZ75yMbQH4L0NfotqY6bpF 2CqIY3aogQyJGhUJji4gYnS2DvHcyoICwgawshjSaX8Y0Xlwnuh6EusqhqlhTgwPNAPrKIXCmOWtqjlDhho/lhkHJMzuTn8AoVapbBUn" formaDePago="PAGO EN UNA SOLA EXHIBICION" noCertificado="30001000000100000800" tipoDeComprobante="ingreso"> <cfdi:Emisor rfc="PPL961114GZ1" nombre="PHARMA PLUS SA DE CV"> <cfdi:DomicilioFiscal pais="Mexico" calle="AV. RIO MIXCOAC" estado="MEXICO, D.F." colonia="ACACIAS" municipio="BENITO JUAREZ" noExterior="No. 140" codigoPostal="03240"/> <cfdi:ExpedidoEn pais="Mexico" calle="AV. UNIVERSIDAD" estado="DISTRITO FEDERAL" colonia="OXTOPULCO" noExterior="1858" codigoPostal="03910"/> </cfdi:Emisor> <cfdi:Receptor rfc="PEPJ8001019Q8" nombre="JUAN PEREZ PEREZ"> <cfdi:Domicilio pais="Mexico" calle="AV UNIVERSIDAD" estado="DISTRITO FEDERAL" colonia="COPILCO UNIVERSIDAD" municipio="COYOACAN" noExterior="16 EDF 3" noInterior="DPTO 101" codigoPostal="04360"/> </cfdi:Receptor> <cfdi:Conceptos> <cfdi:Concepto unidad="CAPSULAS" importe="244.00" cantidad="1.0" descripcion="VIBRAMICINA 100MG 10" valorUnitario="244.00"/> <cfdi:Concepto unidad="BOTELLA" importe="137.93" cantidad="1.0" descripcion="CLORUTO 500M" valorUnitario="137.93"/> <cfdi:Concepto unidad="TABLETAS" importe="84.50" cantidad="1.0" descripcion="SEDEPRON 250MG 10" valorUnitario="84.50"/> </cfdi:Conceptos> <cfdi:Impuestos> <cfdi:Traslados> <cfdi:Traslado tasa="0.00" importe="0.00" impuesto="IVA"/> <cfdi:Traslado tasa="16.00" importe="22.07" impuesto="IVA"/> </cfdi:Traslados> </cfdi:Impuestos> <cfdi:Complemento> <tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital TimbreFiscalDigital.xsd" selloCFD="tOSe+Ex/wvn33YlGwtfmrJwQ31Crd7lI9VcH63TGjHfxk5vfb3q9uSbDUGk9TXvo70ydOpikRVw+9B2Six0mbu3PjoPpO909oAYITrRyomde UGJ4vmA2/12L86EJLWpU7vIt4cL8HpkEw7TOFhSdpzb/890+jP+C1adBsHU1VHc=" FechaTimbrado="2010-03-06T20:40:10" UUID="ad662d33-6934-459c-a128-bdf0393e0f44" noCertificadoSAT="30001000000100000801" version="1.0" selloSAT="j5bSpqM3w0+shGtImqOwqqy6+d659O78ckfstu5vTSFa+2CVMj6Awfr18x4yMLGBwk6ruYbjBlVURodEIl6nJIhTTU tYQV1cbRDG9kvvhaNAakxqaSOnOx79nHxqFPRVoqh10CsjocS9PZkSM2jz1uwLgaF0knf1g8pjDkLYwlk="/> </cfdi:Complemento> <cfdi:Addenda/> </cfdi:Comprobante>
una vez que lea el xml podre enviarle paramtros a mi reporte

muchas gracias de antemano

noelr 23-12-2011 02:01:56

sera muy tonta mi pregunta o no me dia entender? =(

sigo investigando gracias!! por su atencion

identsoft 23-12-2011 10:34:29

Yo también utilizo ficheros xml para imprimir a través de Rave.
Lo que yo he echo es lo siguiente:
1.-Tomo el .xml y a través del XMLMapper creo los datapacket (ficheros.xsd)
2.- en un formulario inserto un Clientdataset y un xmlTransformProvider enlazado con los ficheros xsd y xml.
3.- Con este enlace se carga automáticamente el Clientdataset con los datos del fichero XML. Realizo el tratamiento que tengo que hacer y enlazo directamente el Clientdataset con Rave para la impresión.
XMLMapper es una utilidad que viene con Delphi desde delphi 6 ó 7
Para crear los datapacket, busca en Google que hay manuales más claros que lo que yo te pueda explicar
Espero que te sirva

noelr 23-12-2011 21:12:51

te estoy muy agradecido identsoft

ya me estoy documentando cualquier cosas te aviso

Héctor Randolph 23-12-2011 22:24:45

Veo que los datos provienen de un comprobante fiscal digital del SAT, CFDI para ser exactos.

En este caso puedes descargar el esquema XSD que el mismo SAT proporciona.

Para descargarlo busca en el nodo Comprobante la clave xsi:schemaLocation y esa es la ruta del esquema.

Utiliza el XMLData Binding para crear una clase que pueda leer desde el archivo XML.

File-> New> Other -> XML -> XML Data Binding

Saludos

noelr 14-01-2012 00:05:50

muchas gracias por su apoyo amigos he solucionado mi problema me llevo muchas horas de lectura pero por fin lo solucione

macmax 20-06-2012 18:16:09

Cita:

Empezado por noelr (Mensaje 422935)
muchas gracias por su apoyo amigos he solucionado mi problema me llevo muchas horas de lectura pero por fin lo solucione

hola noelr disculpa como lo solucionaste tengo el mismo problema.

jrendon 06-04-2013 22:41:02

Cita:

Empezado por noelr (Mensaje 422935)
muchas gracias por su apoyo amigos he solucionado mi problema me llevo muchas horas de lectura pero por fin lo solucione

Hola Noelr no se si podrias ayudarme como lo solucionastes

Saludos
Juan Rendón


La franja horaria es GMT +2. Ahora son las 07:59:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi