Como leer nodo de archivo xml con Python usando minidom
tengo u archivo xml con la siguiente estructura:
<?xml version="1.0" encoding="UTF-8"?><cfdi:Comprobante Version="3.3" xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv33.xsd " Serie="KNS" Folio="44" Fecha="2018-02-01T09:19:56" NoCertificado="00001000000407880000" Certificado="MIIGMzCCBBug...."" Moneda="MXN" TipoDeComprobante="I" MetodoPago="PUE" FormaPago="99" CondicionesDePago="Contado" SubTotal="540.00" Total="626.40" LugarExpedicion="11320" Sello="JKVJ""><cfdi:Emisor Rfc="GKM060127GP4" Nombre="GRUPO KROME DE MEXICO, SA DE CV" RegimenFiscal="601"/> <cfdi:Receptor Rfc="IBS000800000" Nombre="IB Sistemas, S.A. de C.V." UsoCFDI="G03"/> <cfdi:Conceptos><cfdi:Concepto ClaveProdServ="82101500" Cantidad="2.00" ClaveUnidad="HC" Descripcion="Tarjetas de presentación, impresas en offset digital." ValorUnitario="270.00" Importe="540.00"><cfdi:Impuestos><cfdi:Traslados><cfdi:Traslado Base="540.00" Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="86.40"/></cfdi:Traslados></cfdi:Impuestos></cfdi:Concepto></cfdi:Conceptos><cfdi:Impuestos TotalImpuestosTrasladados="86.40"> <cfdi:Traslados><cfdi:Traslado Impuesto="002" TipoFactor="Tasa" TasaOCuota="0.160000" Importe="86.40"/></cfdi:Traslados> </cfdi:Impuestos><cfdi:Complemento><tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/sitio_internet/cfd/TimbreFiscalDigital/TimbreFiscalDigitalv11.xsd" Version="1.1" UUID="5CA56521-0763-11E8-87CC-00155D014007" FechaTimbrado="2018-02-01T09:19:57" RfcProvCertif="TBN040609RKA" SelloCFD="JKVJ"" NoCertificadoSAT="00001000000403557578" SelloSAT="jXmC54X9fW""/></cfdi:Complemento></cfdi:Comprobante> Del cual quiero obtener el valor "totalImpuestosTrasladados" pero no lo he logrado. Usando "getElementsByTagName" he logrado obtener la mayoría de los campos pero no lo he logrado con este. Agradeceré cualquier ayuda Gracias y saludos |
Sólo uno de los nodos de cfdi:Impuestos contiene el atributo TotalImpuestosTrasladados
esto bastaría para encontrar cual de ellos tiene el atributo. Código:
for node in dom.getElementsByTagName("cfdi:Impuestos"): Código:
from xml.dom.minidom import parse, parseString De ejemplo use uno de los XML que vienen en la página del SAT y el resultado es el siguiente. Código:
------------------------- |
Muchisimas gracias, me pongo a hacer pruebas en este momento!
Saludos |
Me funciono muy bien!
Muchismas gracias |
La franja horaria es GMT +2. Ahora son las 10:14:49. |
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