Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-02-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question ¿Delphi XML como escribir leer NameSpaces?

Hola

ando trabajando en lo que es el CFDI
para la facturacion electronica en México.

este es el XML que da el sat
Código:
<?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" 
 folio="123456" 
 fecha="2011-03-06T20:38:12" 
 sello="ll858RRUo3RHkdawp5Jy/TENtijth0TXEizBRwiCZhkanijbNH8Hh6C2XRk1wUsR&#xA;T0q+3HrO2bNgMS7cPr4p2ee+2N/6zVPzhjt0hfK8r3rF+VLArhGKQaBynlzMpL/A&#xA;up1Oc4fDjZA1MbtbZblLxFNG8/TeCJjQogo7+uYBMB4=&#xA;" 
 total="488.50" 
 subTotal="466.43" 
 Moneda="MXP" 
 certificado="MIIE/TCCA+WgAwIBAgIUMzAwMDEwMDAwMDAxMDAwMDA4MDAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMDA3MzAxNjU4NDBaFw0xMjA3MjkxNjU4NDBaMIGWMRIwEAYDVQQDDAlNYXRyaXogU0ExEjAQBgNVBCkMCU1hdHJpeiBTQTESMBAGA1UECgwJTWF0cml6IFNBMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBBQUFBMDEwMTAxQUFBMR4wHAYDVQQFExUgLyBBQUFBMDEwMTAxSERGUlhYMDExETAPBgNVBAsMCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD0ltQNthUNUfzq0t1GpIyapjzOn1W5fGM5G/pQyMluCzP9YlVAgBjGgzwYp9Z0J9gadg3y2ZrYDwvv8b72goyRnhnv3bkjVRKlus6LDc00K7Jl23UYzNGlXn5+i0HxxuWonc2GYKFGsN4rFWKVy3Fnpv8Z2D7dNqsVyT5HapEqwIDAQABo4HqMIHnMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMB0GA1UdDgQWBBSYodSwRczzj5H7mcO3+mAyXz+y0DAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vcGtpLnNhdC5nb2IubXgvc2F0LmNybDAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNhdC5nb2IubXgvMB8GA1UdIwQYMBaAFOtZfQQimlONnnEaoFiWKfU54KDFMBAGA1UdIAQJMAcwBQYDKgMEMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQArHQEorApwqumSn5EqDOAjbezi8fLco1cYES/PD+LQRM1Vb1g7VLE3hR4S5NNBv0bMwwWAr0WfL9lRRj0PMKLorO8y4TJjRU8MiYXfzSuKYL5Z16kW8zlVHw7CtmjhfjoIMwjQo3prifWxFv7VpfIBstKKShU0qB6KzUUNwg2Ola4t4gg2JJcBmyIAIInHSGoeinR2V1tQ10aRqJdXkGin4WZ75yMbQH4L0NfotqY6bpF2CqIY3aogQyJGhUJji4gYnS2DvHcyoICwgawshjSaX8Y0Xlwnuh6EusqhqlhTgwPNAPrKIXCmOWtqjlDhho/lhkHJMzuTn8AoVapbBUnj" 
 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: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="ll858RRUo3RHkdawp5Jy/TENtijth0TXEizBRwiCZhkanijbNH8Hh6C2XRk1wUsR&#xA;T0q+3HrO2bNgMS7cPr4p2ee+2N/6zVPzhjt0hfK8r3rF+VLArhGKQaBynlzMpL/A&#xA;up1Oc4fDjZA1MbtbZblLxFNG8/TeCJjQogo7+uYBMB4=&#xA;" FechaTimbrado="2011-03-06T20:40:10" UUID="ad662d33-6934-459c-a128-bdf0393e0f44" noCertificadoSAT="30001000000100000801" version="1.0" selloSAT="j2gGwF26lCgiMEj7IlVTDaQrAsOtVU7yO6idRZrSXYnarFQ5cbUE79WER4O8g+TZ&#xA;pYnyeOoH7DskvzeSMlCG67Tp/+Rx74CSTvzLtfDjEK6mmzKHylcWMn9SizIGWRDB&#xA;RrxOv5P2BPLIwTY1/HUQ7I46/eBzAuTLHsiDhsNJCMk=&#xA;" />
  </cfdi:Complemento>
  <cfdi:Addenda />
</cfdi:Comprobante>
mi problema es que al usar delphi y el databinding
no se reconoce los que es cfdi:

</cfdi:Impuestos>
no logro crear el archivo XML que conenga ese namespace
solo sin ese nameespace

hize chapuza haciendo este archivo que es el que uso lo adjunte


y otro problema que tengo es como leer la informacion del timbrefiscal

Código:
 <cfdi:Complemento>
    <tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital TimbreFiscalDigital.xsd" selloCFD="ll858RRUo3RHkdawp5Jy/TENtijth0TXEizBRwiCZhkanijbNH8Hh6C2XRk1wUsR&#xA;T0q+3HrO2bNgMS7cPr4p2ee+2N/6zVPzhjt0hfK8r3rF+VLArhGKQaBynlzMpL/A&#xA;up1Oc4fDjZA1MbtbZblLxFNG8/TeCJjQogo7+uYBMB4=&#xA;" FechaTimbrado="2011-03-06T20:40:10" UUID="ad662d33-6934-459c-a128-bdf0393e0f44" noCertificadoSAT="30001000000100000801" version="1.0" selloSAT="j2gGwF26lCgiMEj7IlVTDaQrAsOtVU7yO6idRZrSXYnarFQ5cbUE79WER4O8g+TZ&#xA;pYnyeOoH7DskvzeSMlCG67Tp/+Rx74CSTvzLtfDjEK6mmzKHylcWMn9SizIGWRDB&#xA;RrxOv5P2BPLIwTY1/HUQ7I46/eBzAuTLHsiDhsNJCMk=&#xA;" />
  </cfdi:Complemento>
con este codigo leo la informacion del xml que tambien adjunto
Código Delphi [-]
var
        elemisor : IXMLComprobante_Emisor;
begin
//
//  Cargamos el comprobante y comezanmos a cargar los datos que contieen
  elcomprobante := GetComprobante(XMLDocument1);
 Edit1.Text :=  elcomprobante.Version ;
 Edit2.Text := elcomprobante.Folio;
 Edit3.Text := elcomprobante.Serie;
 Edit4.Text := elcomprobante.Fecha;
 Memo1.Text := elcomprobante.Sello;
 Edit5.Text := elcomprobante.Total;
  // aqui no se como leer el complemento para pasarlo a unos edits y memos

yo creo que el problema es que no se han declarado los namespaces
pero no se como se declaran ni como leer un namespace distinto dentro
de otro
en este caso el complemento timbrefiscal
tiene el namespace <tfd:TimbreFiscalDigital
Archivos Adjuntos
Tipo de Archivo: zip leercfdi.zip (8,2 KB, 144 visitas)
Responder Con Cita
  #2  
Antiguo 10-02-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
siguo sin entender como hacerle.
Responder Con Cita
  #3  
Antiguo 11-02-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
Question

Cita:
Empezado por JXJ Ver Mensaje
siguo sin entender como hacerle.
Todavia no encuentro como leer el xml
quiero leer la informacion del timbre pero nada de nada..

tampoco tengo idea de como se escribe el XML para que tenga

Código Delphi [-]
 
    TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital TimbreFiscalDigital.xsd" selloCFD="ll858RRUo3RHkdawp5Jy/TENtijth0TXEizBRwiCZhkanijbNH8Hh6C2XRk1wUsR
T0q+3HrO2bNgMS7cPr4p2ee+2N/6zVPzhjt0hfK8r3rF+VLArhGKQaBynlzMpL/A
up1Oc4fDjZA1MbtbZblLxFNG8/TeCJjQogo7+uYBMB4=
" FechaTimbrado="2011-03-06T20:40:10" UUID="ad662d33-6934-459c-a128-bdf0393e0f44" noCertificadoSAT="30001000000100000801" version="1.0" selloSAT="j2gGwF26lCgiMEj7IlVTDaQrAsOtVU7yO6idRZrSXYnarFQ5cbUE79WER4O8g+TZ
pYnyeOoH7DskvzeSMlCG6  7Tp/+Rx74CSTvzLtfDjEK6mmzKHylcWMn9SizIGWRDB
RrxOv5P2BPLIwTY1/HUQ7I46/eBzAuTLHsiDhsNJCMk=
" />
  
Responder Con Cita
  #4  
Antiguo 11-02-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
<B>Ayuda por favor.
Responder Con Cita
  #5  
Antiguo 11-02-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
segun yo con este codigo puedo accesar a los valores
del timbrefiscaldigital

Código Delphi [-]
 
var

AttrNode : XMLNode;
begin
    AttrNode:=    XMLDocument1.DocumentElement.ChildNodes.FindNode('TimbreFiscalDigital', XMLDocument1.DocumentElement.FindNamespaceURI('tfd'));
          Edit1.Text := Trim( AttrNode.ChildNodes.Nodes[0].Text);//aui error
end;
pero obtengo solo errores de acceso de memoria
Responder Con Cita
  #6  
Antiguo 13-02-2011
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
alguna idea. algo ando perdido.
Responder Con Cita
  #7  
Antiguo 07-06-2013
Kalex Kalex is offline
Registrado
 
Registrado: ene 2010
Posts: 3
Poder: 0
Kalex Va por buen camino
Cita:
Empezado por JXJ Ver Mensaje
segun yo con este codigo puedo accesar a los valores
del timbrefiscaldigital

Código Delphi [-]
 
var

AttrNode : XMLNode;
begin
    AttrNode:=    XMLDocument1.DocumentElement.ChildNodes.FindNode('TimbreFiscalDigital', XMLDocument1.DocumentElement.FindNamespaceURI('tfd'));
          Edit1.Text := Trim( AttrNode.ChildNodes.Nodes[0].Text);//aui error
end;
pero obtengo solo errores de acceso de memoria

No se si ya encontraste la respuesta pero quiza a alguien mas le sirva
AttrNode : XMLNode;
begin
AttrNode:= XMLDocument1.DocumentElement.ChildNodes.FindNode('TimbreFiscalDigital', XMLDocument1.DocumentElement.FindNamespaceURI('tfd'));
------------> Edit1.Text := Trim( AttrNode.ChildNodes.Nodes[0].Text); <-------------------------------esta linea cambiala por
Edit1.Text := Trim( AttrNode.ChildNodes.Nodes['nombre del dato que quieres obtener ej UUID'].Text);
end;
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
cómo leer y escribir variables en un SWF? (as3) kokorini Varios 2 06-12-2007 23:18:13
Sin saber leer ni escribir D-MO Humor 3 13-09-2006 08:47:43
Como Leer y escribir en txt con flash CamiloVI HTML, Javascript y otros 13 06-10-2005 17:45:08
leer y escribir en BD SqlServer con ADOStoredProc marctonyus Gráficos 1 17-07-2005 22:13:12
Como Leer y escribir puertos Seriales sandragm API de Windows 1 28-04-2004 05:42:00


La franja horaria es GMT +2. Ahora son las 06:55:21.


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
Copyright 1996-2007 Club Delphi