这是我第一次问问题,提前谢谢
因此,我试图处理数百个具有非常特殊格式的XML文件(python脚本、XML输出、熊猫输出和下面的原始XML)
通过剥离CDATA标记,我能够捕获XML的特定部分,这非常棒,但现在我需要将提取的XML中的“detalles”项传递到数据帧。我尝试了很多方法,检查了不同的问题,但我仍然得到了一个非类型的空单元格
关于如何获取所有数据有什么想法吗?谢谢
这是我的代码:
from lxml import etree
import pandas as pd
root= etree.parse(r'Factura 2.xml')
root2 = etree.XML(etree.tostring(root))
invoice = root2[3]
print(invoice.text)#i see here under the tag deatlles , taht the invoice has items in it
new_xml = invoice.text
new_xml= new_xml.encode()#forces to encode XML to default encoding
roott=etree.XML(new_xml)
#pass data to pandas dataframe
data = []
cols = []
for i, child in enumerate(roott):
data.append([subchild.text for subchild in child])
cols.append(child.tag)
df = pd.DataFrame(data).T # Write in DF and transpose it
df.columns = cols # Update column names
df.to_excel('table.xlsx')
print(df)
这是输出:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><factura id="comprobante" version="2.1.0">
<infoTributaria>
<ambiente>2</ambiente>
<tipoEmision>1</tipoEmision>
<razonSocial>INVERNEG S.A.</razonSocial>
<ruc>0990658498001</ruc>
<claveAcceso>2201202101099065849800120030120000802950008029516</claveAcceso>
<codDoc>01</codDoc>
<estab>003</estab>
<ptoEmi>012</ptoEmi>
<secuencial>000080295</secuencial>
<dirMatriz>AV. DE LAS AMERICAS 807 Y CALLE SEGUNDA</dirMatriz>
</infoTributaria>
<infoFactura>
<fechaEmision>22/01/2021</fechaEmision>
<dirEstablecimiento>AV. 10 DE AGOSTO # 132 Y DE LOS CEREZOS</dirEstablecimiento>
<contribuyenteEspecial>136</contribuyenteEspecial>
<obligadoContabilidad>SI</obligadoContabilidad>
<tipoIdentificacionComprador>04</tipoIdentificacionComprador>
<razonSocialComprador>SANTOS ANDINO JOSE RODRIGO</razonSocialComprador>
<identificacionComprador>1704484185001</identificacionComprador>
<direccionComprador>AV. MARISCAL SUCRE S8-493 Y JOSE MENDOZA</direccionComprador>
<totalSinImpuestos>84.15</totalSinImpuestos>
<totalDescuento>0</totalDescuento>
<totalConImpuestos>
<totalImpuesto>
<codigo>2</codigo>
<codigoPorcentaje>2</codigoPorcentaje>
<descuentoAdicional>0.00</descuentoAdicional>
<baseImponible>84.15</baseImponible>
<tarifa>12.00</tarifa>
<valor>10.10</valor>
</totalImpuesto>
</totalConImpuestos>
<propina>0.00</propina>
<importeTotal>94.25</importeTotal>
<moneda>DOLAR</moneda>
<pagos>
<pago>
<formaPago>20</formaPago>
<total>94.25</total>
<plazo>30</plazo>
<unidadTiempo>Dias</unidadTiempo>
</pago>
</pagos>
</infoFactura>
<detalles>
<detalle>
<codigoPrincipal>SH6607-XPL</codigoPrincipal>
<descripcion>20K KM SYNTHETIC LF PH2876 Ford Mazda.</descripcion>
<cantidad>34.00</cantidad>
<precioUnitario>2.4750</precioUnitario>
<descuento>0.00</descuento>
<precioTotalSinImpuesto>84.15</precioTotalSinImpuesto>
<impuestos>
<impuesto>
<codigo>2</codigo>
<codigoPorcentaje>2</codigoPorcentaje>
<tarifa>12.00</tarifa>
<baseImponible>84.15</baseImponible>
<valor>10.10</valor>
</impuesto>
</impuestos>
</detalle>
</detalles>
<infoAdicional>
<campoAdicional nombre="emailCliente">motozone25@gmail.com</campoAdicional>
<campoAdicional nombre="OrdenCompra">NN</campoAdicional>
<campoAdicional nombre="CodSociedad">Dynamics</campoAdicional>
<campoAdicional nombre="CodInternoSAP">ivn</campoAdicional>
</infoAdicional>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:etsi="http://uri.etsi.org/01903/v1.3.2#" Id="Signature260661">
<ds:SignedInfo Id="Signature-SignedInfo959896">
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference Id="SignedPropertiesID72112" Type="http://uri.etsi.org/01903#SignedProperties" URI="#Signature260661-SignedProperties267295">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>2XMqZGYiZj19+ASI+0cw/ZpY32U=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#Certificate1621720">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>7ypTHELgqKKlA36P9wVJ8tB+LLY=</ds:DigestValue>
</ds:Reference>
<ds:Reference Id="Reference-ID-24390" URI="#comprobante">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>IMXyzVuehrGVc8DIwS/O7z+yiEs=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue Id="SignatureValue783577">
e7j105IptFmzcpMNYsbkrByTaMnV1XPmnyJ69dXCCfifwooEKpHxiNDlimPYcfQV7ZpLJ4V5g4H1
CtobnB9U/GgKQF1uQz6uCFzyvyxp3P6TBg5iJ2Tbv4txCWu7OZBlQmbeilqVOkV15KAbVPZlqdxJ
XkJPvqRxxOVoPzidRbGWCZR9Q19lNdNEV8yHz4AtkpMWl3JtRi1k7n4aRPFDl1PC7nhcLWIuDXuD
sImgREjbGzY+PBoBw48DlSyXM/eABSBtwuZESSmYcC9k8ZWmD59VuFUqz1bFgb4LxhMTWjzNlLf2
CmbplKnqGZfaE6Kp+h0tJi6+7PFdlhm+dGNaCg==
</ds:SignatureValue>
<ds:KeyInfo Id="Certificate1621720">
<ds:X509Data>
<ds:X509Certificate>
MIIKFzCCB/+gAwIBAgIEW2EYeTANBgkqhkiG9w0BAQsFADCBoTELMAkGA1UEBhMCRUMxIjAgBgNV
BAoTGUJBTkNPIENFTlRSQUwgREVMIEVDVUFET1IxNzA1BgNVBAsTLkVOVElEQUQgREUgQ0VSVElG
SUNBQ0lPTiBERSBJTkZPUk1BQ0lPTi1FQ0lCQ0UxDjAMBgNVBAcTBVFVSVRPMSUwIwYDVQQDExxB
QyBCQU5DTyBDRU5UUkFMIERFTCBFQ1VBRE9SMB4XDTE5MDkyMzEzNDkyNFoXDTIxMDkyMzE0MTky
NFowgbYxCzAJBgNVBAYTAkVDMSIwIAYDVQQKExlCQU5DTyBDRU5UUkFMIERFTCBFQ1VBRE9SMTcw
NQYDVQQLEy5FTlRJREFEIERFIENFUlRJRklDQUNJT04gREUgSU5GT1JNQUNJT04tRUNJQkNFMQ4w
DAYDVQQHEwVRVUlUTzE6MBEGA1UEBRMKMDAwMDA5MTg5NjAlBgNVBAMTHkpVU1RPIEVOUklRVUUg
R09OWkFMRVogQUxNRUlEQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMqyjftcUein
EL0FI3Sc2um7sr2dhfuSdOhPgZQPwr64/0Du9Uo475cqS4oD3QyW8m4HK2OFsqiJr7Pp9DmqyuON
YX6nWrq8sdlRKoSnML2MDGgmHvEjBc/ezq/04vpcT7i8BWXQoe2Pk3mI2mPIWoimv91eg5euPYvv
UX+cF44kNE3KSBGsPezFyOB1FglFQxG2wlm8s6Yl4TJqvjo6NpTErpesugXntNEq2tlPoOtPt4cw
9BQ/buh7oDIP1HA0ilTioXkNqPY88elJYheuKJI/lPWM2+fBeXNVjTV7SIqJrPM5R+A8GLlWDYge
vOle5W9pwLvbx3r1+KYToqoSsx8CAwEAAaOCBT4wggU6MAsGA1UdDwQEAwIHgDBnBgNVHSAEYDBe
MFwGCysGAQQBgqg7AgIBME0wSwYIKwYBBQUHAgEWP2h0dHA6Ly93d3cuZWNpLmJjZS5lYy9wb2xp
dGljYS1jZXJ0aWZpY2Fkby9wZXJzb25hLWp1cmlkaWNhLnBkZjCBkQYIKwYBBQUHAQEEgYQwgYEw
PgYIKwYBBQUHMAGGMmh0dHA6Ly9vY3NwLmVjaS5iY2UuZWMvZWpiY2EvcHVibGljd2ViL3N0YXR1
cy9vY3NwMD8GCCsGAQUFBzABhjNodHRwOi8vb2NzcDEuZWNpLmJjZS5lYy9lamJjYS9wdWJsaWN3
ZWIvc3RhdHVzL29jc3AwGwYKKwYBBAGCqDsDCgQNEwtJTlZFUk5FRyBTQTAdBgorBgEEAYKoOwML
BA8TDTA5OTA2NTg0OTgwMDEwGgYKKwYBBAGCqDsDAQQMEwowOTA1MzMxMTc5MB0GCisGAQQBgqg7
AwIEDxMNSlVTVE8gRU5SSVFVRTAYBgorBgEEAYKoOwMDBAoTCEdPTlpBTEVaMBcGCisGAQQBgqg7
AwQECRMHQUxNRUlEQTAaBgorBgEEAYKoOwMFBAwTClBSRVNJREVOVEUwOgYKKwYBBAGCqDsDBwQs
EypBViBERSBMQVMgIEFNRVJJQ0FTICAgODA3IFkgQ0FMTEUgIFNFR1VOREEwGQYKKwYBBAGCqDsD
CAQLEwkwNDI2OTA4MDAwGQYKKwYBBAGCqDsDCQQLEwlHdWF5YXF1aWwwFwYKKwYBBAGCqDsDDAQJ
EwdFQ1VBRE9SMB0GCisGAQQBgqg7AzIEDxMNMDk5MDY1ODQ5ODAwMTAgBgorBgEEAYKoOwMzBBIT
EFNPRlRXQVJFLUFSQ0hJVk8wJgYDVR0RBB8wHYEbanVzdG8uZ29uemFsZXpAaW52ZXJuZWcuY29t
MIIB3wYDVR0fBIIB1jCCAdIwggHOoIIByqCCAcaGgdVsZGFwOi8vYmNlcWxkYXBzdWJwMS5iY2Uu
ZWMvY249Q1JMODQyLGNuPUFDJTIwQkFOQ08lMjBDRU5UUkFMJTIwREVMJTIwRUNVQURPUixsPVFV
SVRPLG91PUVOVElEQUQlMjBERSUyMENFUlRJRklDQUNJT04lMjBERSUyMElORk9STUFDSU9OLUVD
SUJDRSxvPUJBTkNPJTIwQ0VOVFJBTCUyMERFTCUyMEVDVUFET1IsYz1FQz9jZXJ0aWZpY2F0ZVJl
dm9jYXRpb25MaXN0P2Jhc2WGNGh0dHA6Ly93d3cuZWNpLmJjZS5lYy9DUkwvZWNpX2JjZV9lY19j
cmxmaWxlY29tYi5jcmykgbUwgbIxCzAJBgNVBAYTAkVDMSIwIAYDVQQKExlCQU5DTyBDRU5UUkFM
IERFTCBFQ1VBRE9SMTcwNQYDVQQLEy5FTlRJREFEIERFIENFUlRJRklDQUNJT04gREUgSU5GT1JN
QUNJT04tRUNJQkNFMQ4wDAYDVQQHEwVRVUlUTzElMCMGA1UEAxMcQUMgQkFOQ08gQ0VOVFJBTCBE
RUwgRUNVQURPUjEPMA0GA1UEAxMGQ1JMODQyMCsGA1UdEAQkMCKADzIwMTkwOTIzMTM0OTI0WoEP
MjAyMTA5MjMxNDE5MjRaMB8GA1UdIwQYMBaAFEii3yMfHfgsUXqMA81JMqUJwZSrMB0GA1UdDgQW
BBRo1dATwJqFbr5m83H1ebKUyJ296jAJBgNVHRMEAjAAMBkGCSqGSIb2fQdBAAQMMAobBFY4LjED
AgSwMA0GCSqGSIb3DQEBCwUAA4ICAQA5UfSwQYbsGAz9Ygq6AoBVFBvzrbG/ebqTM7DCnPh9C6vN
EgZ2LqfWENb05h0AdP+6lhVz6RXBhMKnoh9bfJkTDbBj6SOxOQkiVueUgrTHJOm45sTW2Rd6Sv/M
y7wleKR6muSWGOSILXvp3zxPjHklMfTRMsAYDpzRY0OhpOzKreJWXeI/BxAxrPW/D18BjwojKjeu
SsNd8PSMmye8ACJtZ05C6cZcljtM0Fu3YGRCW5rLR2U79OtKq7FFSGyPwXdzK5b4E0WgbHcEMmkY
h7n0IWxdhOyzfHdMGE+5NHef07/EWRKgyadtw6/TR4bcoXBBPyysvzmySx0iiAw0OGhLl86vxAC2
4Tj705j2LMYbIPrzUUuYQEpJ+FCwF6/n/DxYgjwURCIEq6GSSWRAdOXUVWgHoNfGRQ9I6K8BsFsI
6PKHZZ56SCwq/RvWwlpe2r622IunN9QiMgMt1WeYmVK4EzSiOh6Vr2tUyyYE3F9n2s+FEwXCtV/l
acFyRyoPopQo53Sj+BjanHAZ6NmMAqpDUgc8ZhSCXQ3U0OZlZGtxAjxtkoSPbdqMj+YeL4Ummo+I
85Cjcw4sBYSLjaPeQzEp5xYVI9Zxec4j3w6dygHv3z4rzjX7Hp5FT3gorEGgoB7Chwf6/O/tOhNJ
IHnbaAIJCeOVwlLyRJUAxRKagkcA8w==
</ds:X509Certificate>
</ds:X509Data>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>
yrKN+1xR6KcQvQUjdJza6buyvZ2F+5J06E+BlA/Cvrj/QO71SjjvlypLigPdDJbybgcrY4WyqImv
s+n0OarK441hfqdauryx2VEqhKcwvYwMaCYe8SMFz97Or/Ti+lxPuLwFZdCh7Y+TeYjaY8haiKa/
3V6Dl649i+9Rf5wXjiQ0TcpIEaw97MXI4HUWCUVDEbbCWbyzpiXhMmq+Ojo2lMSul6y6Bee00Sra
2U+g60+3hzD0FD9u6HugMg/UcDSKVOKheQ2o9jzx6UliF64okj+U9Yzb58F5c1WNNXtIioms8zlH
4DwYuVYNiB686V7lb2nAu9vHevX4phOiqhKzHw==
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
<ds:Object Id="Signature260661-Object151833"><etsi:QualifyingProperties Target="#Signature260661"><etsi:SignedProperties Id="Signature260661-SignedProperties267295"><etsi:SignedSignatureProperties><etsi:SigningTime>2021-01-22T17:39:56-05:00</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>m1xycXw93GXwQi44F/n8Fr4r2TM=</ds:DigestValue></etsi:CertDigest><etsi:IssuerSerial><ds:X509IssuerName>CN=AC BANCO CENTRAL DEL ECUADOR,L=QUITO,OU=ENTIDAD DE CERTIFICACION DE INFORMACION-ECIBCE,O=BANCO CENTRAL DEL ECUADOR,C=EC</ds:X509IssuerName><ds:X509SerialNumber>1533089913</ds:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#Reference-ID-24390"><etsi:Description>comprobante</etsi:Description><etsi:MimeType>text/xml</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></ds:Object></ds:Signature></factura>
infoTributaria ... {http://www.w3.org/2000/09/xmldsig#}Signature
0 2 ... \n
1 1 ... \ne7j105IptFmzcpMNYsbkrByTaMnV1XPmnyJ69dXCCfif...
2 INVERNEG S.A. ... \n
3 0990658498001 ... None
4 2201202101099065849800120030120000802950008029516 ... None
5 01 ... None
6 003 ... None
7 012 ... None
8 000080295 ... None
9 AV. DE LAS AMERICAS 807 Y CALLE SEGUNDA ... None
10 None ... None
11 None ... None
12 None ... None
13 None ... None
14 None ... None
[15 rows x 5 columns]
>>>
原始XML
<autorizacion><estado>PENDIENTE</estado><numeroAutorizacion>2201202101099065849800120030120000802950008029516</numeroAutorizacion><ambiente>PRODUCCIÓN</ambiente><comprobante><![CDATA[<?xml version="1.0" encoding="UTF-8" standalone="no"?><factura id="comprobante" version="2.1.0">
<infoTributaria>
<ambiente>2</ambiente>
<tipoEmision>1</tipoEmision>
<razonSocial>INVERNEG S.A.</razonSocial>
<ruc>0990658498001</ruc>
<claveAcceso>2201202101099065849800120030120000802950008029516</claveAcceso>
<codDoc>01</codDoc>
<estab>003</estab>
<ptoEmi>012</ptoEmi>
<secuencial>000080295</secuencial>
<dirMatriz>AV. DE LAS AMERICAS 807 Y CALLE SEGUNDA</dirMatriz>
</infoTributaria>
<infoFactura>
<fechaEmision>22/01/2021</fechaEmision>
<dirEstablecimiento>AV. 10 DE AGOSTO # 132 Y DE LOS CEREZOS</dirEstablecimiento>
<contribuyenteEspecial>136</contribuyenteEspecial>
<obligadoContabilidad>SI</obligadoContabilidad>
<tipoIdentificacionComprador>04</tipoIdentificacionComprador>
<razonSocialComprador>SANTOS ANDINO JOSE RODRIGO</razonSocialComprador>
<identificacionComprador>1704484185001</identificacionComprador>
<direccionComprador>AV. MARISCAL SUCRE S8-493 Y JOSE MENDOZA</direccionComprador>
<totalSinImpuestos>84.15</totalSinImpuestos>
<totalDescuento>0</totalDescuento>
<totalConImpuestos>
<totalImpuesto>
<codigo>2</codigo>
<codigoPorcentaje>2</codigoPorcentaje>
<descuentoAdicional>0.00</descuentoAdicional>
<baseImponible>84.15</baseImponible>
<tarifa>12.00</tarifa>
<valor>10.10</valor>
</totalImpuesto>
</totalConImpuestos>
<propina>0.00</propina>
<importeTotal>94.25</importeTotal>
<moneda>DOLAR</moneda>
<pagos>
<pago>
<formaPago>20</formaPago>
<total>94.25</total>
<plazo>30</plazo>
<unidadTiempo>Dias</unidadTiempo>
</pago>
</pagos>
</infoFactura>
<detalles>
<detalle>
<codigoPrincipal>SH6607-XPL</codigoPrincipal>
<descripcion>20K KM SYNTHETIC LF PH2876 Ford Mazda.</descripcion>
<cantidad>34.00</cantidad>
<precioUnitario>2.4750</precioUnitario>
<descuento>0.00</descuento>
<precioTotalSinImpuesto>84.15</precioTotalSinImpuesto>
<impuestos>
<impuesto>
<codigo>2</codigo>
<codigoPorcentaje>2</codigoPorcentaje>
<tarifa>12.00</tarifa>
<baseImponible>84.15</baseImponible>
<valor>10.10</valor>
</impuesto>
</impuestos>
</detalle>
</detalles>
<infoAdicional>
<campoAdicional nombre="emailCliente">motozone25@gmail.com</campoAdicional>
<campoAdicional nombre="OrdenCompra">NN</campoAdicional>
<campoAdicional nombre="CodSociedad">Dynamics</campoAdicional>
<campoAdicional nombre="CodInternoSAP">ivn</campoAdicional>
</infoAdicional>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:etsi="http://uri.etsi.org/01903/v1.3.2#" Id="Signature260661">
<ds:SignedInfo Id="Signature-SignedInfo959896">
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference Id="SignedPropertiesID72112" Type="http://uri.etsi.org/01903#SignedProperties" URI="#Signature260661-SignedProperties267295">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>2XMqZGYiZj19+ASI+0cw/ZpY32U=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#Certificate1621720">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>7ypTHELgqKKlA36P9wVJ8tB+LLY=</ds:DigestValue>
</ds:Reference>
<ds:Reference Id="Reference-ID-24390" URI="#comprobante">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>IMXyzVuehrGVc8DIwS/O7z+yiEs=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue Id="SignatureValue783577">
e7j105IptFmzcpMNYsbkrByTaMnV1XPmnyJ69dXCCfifwooEKpHxiNDlimPYcfQV7ZpLJ4V5g4H1
CtobnB9U/GgKQF1uQz6uCFzyvyxp3P6TBg5iJ2Tbv4txCWu7OZBlQmbeilqVOkV15KAbVPZlqdxJ
XkJPvqRxxOVoPzidRbGWCZR9Q19lNdNEV8yHz4AtkpMWl3JtRi1k7n4aRPFDl1PC7nhcLWIuDXuD
sImgREjbGzY+PBoBw48DlSyXM/eABSBtwuZESSmYcC9k8ZWmD59VuFUqz1bFgb4LxhMTWjzNlLf2
CmbplKnqGZfaE6Kp+h0tJi6+7PFdlhm+dGNaCg==
</ds:SignatureValue>
<ds:KeyInfo Id="Certificate1621720">
<ds:X509Data>
<ds:X509Certificate>
MIIKFzCCB/+gAwIBAgIEW2EYeTANBgkqhkiG9w0BAQsFADCBoTELMAkGA1UEBhMCRUMxIjAgBgNV
BAoTGUJBTkNPIENFTlRSQUwgREVMIEVDVUFET1IxNzA1BgNVBAsTLkVOVElEQUQgREUgQ0VSVElG
SUNBQ0lPTiBERSBJTkZPUk1BQ0lPTi1FQ0lCQ0UxDjAMBgNVBAcTBVFVSVRPMSUwIwYDVQQDExxB
QyBCQU5DTyBDRU5UUkFMIERFTCBFQ1VBRE9SMB4XDTE5MDkyMzEzNDkyNFoXDTIxMDkyMzE0MTky
NFowgbYxCzAJBgNVBAYTAkVDMSIwIAYDVQQKExlCQU5DTyBDRU5UUkFMIERFTCBFQ1VBRE9SMTcw
NQYDVQQLEy5FTlRJREFEIERFIENFUlRJRklDQUNJT04gREUgSU5GT1JNQUNJT04tRUNJQkNFMQ4w
DAYDVQQHEwVRVUlUTzE6MBEGA1UEBRMKMDAwMDA5MTg5NjAlBgNVBAMTHkpVU1RPIEVOUklRVUUg
R09OWkFMRVogQUxNRUlEQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMqyjftcUein
EL0FI3Sc2um7sr2dhfuSdOhPgZQPwr64/0Du9Uo475cqS4oD3QyW8m4HK2OFsqiJr7Pp9DmqyuON
YX6nWrq8sdlRKoSnML2MDGgmHvEjBc/ezq/04vpcT7i8BWXQoe2Pk3mI2mPIWoimv91eg5euPYvv
UX+cF44kNE3KSBGsPezFyOB1FglFQxG2wlm8s6Yl4TJqvjo6NpTErpesugXntNEq2tlPoOtPt4cw
9BQ/buh7oDIP1HA0ilTioXkNqPY88elJYheuKJI/lPWM2+fBeXNVjTV7SIqJrPM5R+A8GLlWDYge
vOle5W9pwLvbx3r1+KYToqoSsx8CAwEAAaOCBT4wggU6MAsGA1UdDwQEAwIHgDBnBgNVHSAEYDBe
MFwGCysGAQQBgqg7AgIBME0wSwYIKwYBBQUHAgEWP2h0dHA6Ly93d3cuZWNpLmJjZS5lYy9wb2xp
dGljYS1jZXJ0aWZpY2Fkby9wZXJzb25hLWp1cmlkaWNhLnBkZjCBkQYIKwYBBQUHAQEEgYQwgYEw
PgYIKwYBBQUHMAGGMmh0dHA6Ly9vY3NwLmVjaS5iY2UuZWMvZWpiY2EvcHVibGljd2ViL3N0YXR1
cy9vY3NwMD8GCCsGAQUFBzABhjNodHRwOi8vb2NzcDEuZWNpLmJjZS5lYy9lamJjYS9wdWJsaWN3
ZWIvc3RhdHVzL29jc3AwGwYKKwYBBAGCqDsDCgQNEwtJTlZFUk5FRyBTQTAdBgorBgEEAYKoOwML
BA8TDTA5OTA2NTg0OTgwMDEwGgYKKwYBBAGCqDsDAQQMEwowOTA1MzMxMTc5MB0GCisGAQQBgqg7
AwIEDxMNSlVTVE8gRU5SSVFVRTAYBgorBgEEAYKoOwMDBAoTCEdPTlpBTEVaMBcGCisGAQQBgqg7
AwQECRMHQUxNRUlEQTAaBgorBgEEAYKoOwMFBAwTClBSRVNJREVOVEUwOgYKKwYBBAGCqDsDBwQs
EypBViBERSBMQVMgIEFNRVJJQ0FTICAgODA3IFkgQ0FMTEUgIFNFR1VOREEwGQYKKwYBBAGCqDsD
CAQLEwkwNDI2OTA4MDAwGQYKKwYBBAGCqDsDCQQLEwlHdWF5YXF1aWwwFwYKKwYBBAGCqDsDDAQJ
EwdFQ1VBRE9SMB0GCisGAQQBgqg7AzIEDxMNMDk5MDY1ODQ5ODAwMTAgBgorBgEEAYKoOwMzBBIT
EFNPRlRXQVJFLUFSQ0hJVk8wJgYDVR0RBB8wHYEbanVzdG8uZ29uemFsZXpAaW52ZXJuZWcuY29t
MIIB3wYDVR0fBIIB1jCCAdIwggHOoIIByqCCAcaGgdVsZGFwOi8vYmNlcWxkYXBzdWJwMS5iY2Uu
ZWMvY249Q1JMODQyLGNuPUFDJTIwQkFOQ08lMjBDRU5UUkFMJTIwREVMJTIwRUNVQURPUixsPVFV
SVRPLG91PUVOVElEQUQlMjBERSUyMENFUlRJRklDQUNJT04lMjBERSUyMElORk9STUFDSU9OLUVD
SUJDRSxvPUJBTkNPJTIwQ0VOVFJBTCUyMERFTCUyMEVDVUFET1IsYz1FQz9jZXJ0aWZpY2F0ZVJl
dm9jYXRpb25MaXN0P2Jhc2WGNGh0dHA6Ly93d3cuZWNpLmJjZS5lYy9DUkwvZWNpX2JjZV9lY19j
cmxmaWxlY29tYi5jcmykgbUwgbIxCzAJBgNVBAYTAkVDMSIwIAYDVQQKExlCQU5DTyBDRU5UUkFM
IERFTCBFQ1VBRE9SMTcwNQYDVQQLEy5FTlRJREFEIERFIENFUlRJRklDQUNJT04gREUgSU5GT1JN
QUNJT04tRUNJQkNFMQ4wDAYDVQQHEwVRVUlUTzElMCMGA1UEAxMcQUMgQkFOQ08gQ0VOVFJBTCBE
RUwgRUNVQURPUjEPMA0GA1UEAxMGQ1JMODQyMCsGA1UdEAQkMCKADzIwMTkwOTIzMTM0OTI0WoEP
MjAyMTA5MjMxNDE5MjRaMB8GA1UdIwQYMBaAFEii3yMfHfgsUXqMA81JMqUJwZSrMB0GA1UdDgQW
BBRo1dATwJqFbr5m83H1ebKUyJ296jAJBgNVHRMEAjAAMBkGCSqGSIb2fQdBAAQMMAobBFY4LjED
AgSwMA0GCSqGSIb3DQEBCwUAA4ICAQA5UfSwQYbsGAz9Ygq6AoBVFBvzrbG/ebqTM7DCnPh9C6vN
EgZ2LqfWENb05h0AdP+6lhVz6RXBhMKnoh9bfJkTDbBj6SOxOQkiVueUgrTHJOm45sTW2Rd6Sv/M
y7wleKR6muSWGOSILXvp3zxPjHklMfTRMsAYDpzRY0OhpOzKreJWXeI/BxAxrPW/D18BjwojKjeu
SsNd8PSMmye8ACJtZ05C6cZcljtM0Fu3YGRCW5rLR2U79OtKq7FFSGyPwXdzK5b4E0WgbHcEMmkY
h7n0IWxdhOyzfHdMGE+5NHef07/EWRKgyadtw6/TR4bcoXBBPyysvzmySx0iiAw0OGhLl86vxAC2
4Tj705j2LMYbIPrzUUuYQEpJ+FCwF6/n/DxYgjwURCIEq6GSSWRAdOXUVWgHoNfGRQ9I6K8BsFsI
6PKHZZ56SCwq/RvWwlpe2r622IunN9QiMgMt1WeYmVK4EzSiOh6Vr2tUyyYE3F9n2s+FEwXCtV/l
acFyRyoPopQo53Sj+BjanHAZ6NmMAqpDUgc8ZhSCXQ3U0OZlZGtxAjxtkoSPbdqMj+YeL4Ummo+I
85Cjcw4sBYSLjaPeQzEp5xYVI9Zxec4j3w6dygHv3z4rzjX7Hp5FT3gorEGgoB7Chwf6/O/tOhNJ
IHnbaAIJCeOVwlLyRJUAxRKagkcA8w==
</ds:X509Certificate>
</ds:X509Data>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>
yrKN+1xR6KcQvQUjdJza6buyvZ2F+5J06E+BlA/Cvrj/QO71SjjvlypLigPdDJbybgcrY4WyqImv
s+n0OarK441hfqdauryx2VEqhKcwvYwMaCYe8SMFz97Or/Ti+lxPuLwFZdCh7Y+TeYjaY8haiKa/
3V6Dl649i+9Rf5wXjiQ0TcpIEaw97MXI4HUWCUVDEbbCWbyzpiXhMmq+Ojo2lMSul6y6Bee00Sra
2U+g60+3hzD0FD9u6HugMg/UcDSKVOKheQ2o9jzx6UliF64okj+U9Yzb58F5c1WNNXtIioms8zlH
4DwYuVYNiB686V7lb2nAu9vHevX4phOiqhKzHw==
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
<ds:Object Id="Signature260661-Object151833"><etsi:QualifyingProperties Target="#Signature260661"><etsi:SignedProperties Id="Signature260661-SignedProperties267295"><etsi:SignedSignatureProperties><etsi:SigningTime>2021-01-22T17:39:56-05:00</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds:DigestValue>m1xycXw93GXwQi44F/n8Fr4r2TM=</ds:DigestValue></etsi:CertDigest><etsi:IssuerSerial><ds:X509IssuerName>CN=AC BANCO CENTRAL DEL ECUADOR,L=QUITO,OU=ENTIDAD DE CERTIFICACION DE INFORMACION-ECIBCE,O=BANCO CENTRAL DEL ECUADOR,C=EC</ds:X509IssuerName><ds:X509SerialNumber>1533089913</ds:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#Reference-ID-24390"><etsi:Description>comprobante</etsi:Description><etsi:MimeType>text/xml</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></ds:Object></ds:Signature></factura>]]></comprobante></autorizacion>
这只是部分解决办法
编辑:
我添加了使用递归获取所有子项、子项等的版本。
所以现在看来这是一个完整的解决方案
第一:
find('detalle')
搜索直接子节点'detalle'
,但不嵌套在其他节点中-即'detalles'
。您需要使用xpath
和.//
在所有节点中搜索第二:
subchild.text for subchild in child
在直接子对象中搜索文本,但它不获取直接文本(即<codigoPrincipal>
),也不获取嵌套子对象中的文本(即<impuestos>
)对于
<codigoPrincipal>
您必须直接获取child.text
,但是对于<impuestos>
您必须使用递归创建嵌套循环或函数。这个循环/递归在我的解决方案中还没有解决代码:
结果:
它没有检查
impuestos
中的嵌套节点编辑:
使用递归获取所有
children
和subchildren
和subsubchildren
等的版本get_all_children(detalle)
的结果:和
get_all_children(tree)
的结果相关问题 更多 >
编程相关推荐