我无法将嵌套节点读入数据框。 XML只有两个我感兴趣的标签(见下面的例子)名为“Caratula”和“DTE” 我设法读取“Caratula”没有问题,但“DTE”有嵌套节点,我找不到正确读取它们的方法。 我正在使用的R代码是:
# Carga las librerías necesarias.
library("XML")
library("methods")
library(xml2)
library(plyr)
#establece el directorio de trabajo
setwd("~/")
#coloca el nombre del archivo en una cadena
dte<-"Ejemplo.xml"
#carga el xml
a<-read_xml(dte)
#limpia los namespace
b<-xml_ns_strip(a)
#Parsea el xml en la librería XML
c<-xmlParse(b)
#genera el dataframe para la Caratula
Caratula <- xmlToDataFrame(nodes=getNodeSet(c,"//Caratula"))
使用“DTE”我从网上调整了代码(对不起,我不记得来源,但是谢谢)。当文件中只有一个“Detalle”嵌套节点时,此代码可以很好地工作。但它不止一个“Detalle”。
代码是:
#genera el dataframe para los DTEs
d <- xmlParse(b, asText = TRUE)
DTE <- do.call(rbind.fill, lapply(d['//DTE'], function(x) {
names <- xpathSApply(x, './/.', xmlName)
names <- names[which(names == "text") - 1]
values <- xpathSApply(x, ".//text()", xmlValue)
return(as.data.frame(t(setNames(values, names)), stringsAsFactors = FALSE))
}))
你能帮帮我吗?
下面的XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<EnvioDTE xmlns="http://www.sii.cl/SiiDte" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://www.sii.cl/SiiDte EnvioDTE_v10.xsd">
<SetDTE ID="SetDoc">
<Caratula version="1.0">
<RutEmisor>88888888-8</RutEmisor>
<RutEnvia>8414240-9</RutEnvia>
<RutReceptor>76576212-K</RutReceptor>
<FchResol>2003-05-16</FchResol>
<NroResol>0</NroResol>
<TmstFirmaEnv>2016-10-04T14:01:13</TmstFirmaEnv>
<SubTotDTE>
<TpoDTE>33</TpoDTE>
<NroDTE>2</NroDTE>
</SubTotDTE>
</Caratula>
<DTE xmlns="http://www.sii.cl/SiiDte" version="1.0">
<Documento ID="T33">
<Encabezado>
<IdDoc>
<TipoDTE>33</TipoDTE>
<Folio>52725</Folio>
<FchEmis>2016-10-04</FchEmis>
</IdDoc>
<Emisor>
<RUTEmisor>88888888-8</RUTEmisor>
<RznSoc>EMPRESA DE PRUEBA</RznSoc>
<GiroEmis>Informatica</GiroEmis>
<Acteco>1</Acteco>
<CdgSIISucur>59529595</CdgSIISucur>
<DirOrigen>Teatinos 120</DirOrigen>
<CmnaOrigen>Santiago</CmnaOrigen>
<CiudadOrigen>Santiago</CiudadOrigen>
</Emisor>
<Receptor>
<RUTRecep>76576212-K</RUTRecep>
<RznSocRecep>E-SERVICE SPA</RznSocRecep>
<GiroRecep>Comercial</GiroRecep>
<DirRecep>Santiago</DirRecep>
<CmnaRecep>Santiago</CmnaRecep>
<CiudadRecep>Santiago</CiudadRecep>
</Receptor>
<Totales>
<MntNeto>19327</MntNeto>
<TasaIVA>19</TasaIVA>
<IVA>3672</IVA>
<MntTotal>22999</MntTotal>
</Totales>
</Encabezado>
<Detalle>
<NroLinDet>1</NroLinDet>
<CdgItem>
<TpoCodigo>INT1</TpoCodigo>
<VlrCodigo>011</VlrCodigo>
</CdgItem>
<NmbItem>Parlantes Multimedia 180W.</NmbItem>
<DscItem/>
<QtyItem>20</QtyItem>
<PrcItem>4500</PrcItem>
<MontoItem>90000</MontoItem>
</Detalle>
<Detalle>
<NroLinDet>2</NroLinDet>
<CdgItem>
<TpoCodigo>INT1</TpoCodigo>
<VlrCodigo>0231</VlrCodigo>
</CdgItem>
<NmbItem>Mouse Inalambrico PS/2</NmbItem>
<DscItem/>
<QtyItem>1</QtyItem>
<PrcItem>5000</PrcItem>
<MontoItem>5000</MontoItem>
</Detalle>
<Detalle>
<NroLinDet>3</NroLinDet>
<CdgItem>
<TpoCodigo>INT1</TpoCodigo>
<VlrCodigo>1515</VlrCodigo>
</CdgItem>
<NmbItem>Caja de Diskettes 10 Unidades</NmbItem>
<DscItem/>
<QtyItem>5</QtyItem>
<PrcItem>1000</PrcItem>
<MontoItem>5000</MontoItem>
</Detalle>
<TED version="1.0">
<DD>
<RE>88888888-8</RE>
<TD>33</TD>
<F>52725</F>
<FE>2016-10-04</FE>
<RR>76576212-K</RR>
<RSR>E-SERVICE SPA</RSR>
<MNT>22999</MNT>
<IT1>SET INTERCAMBIO NUMERO 705929</IT1>
<CAF version="1.0">
<DA>
<RE>88888888-8</RE>
<RS>EMPRESA DE PRUEBA</RS>
<TD>33</TD>
<RNG>
<D>17479</D>
<H>17901</H>
</RNG>
<FA>2004-03-30</FA>
<RSAPK>
<M>umn8PR3gbC1L3CFheZb5Woh2bj51lvaN2OnwFdTncKXFutekvIAxPmso9DRhgQKJOjlKS1TEKxvzPAYIeEf3tw==</M>
<E>Aw==</E>
</RSAPK>
<IDK>1</IDK>
</DA>
<FRMA algoritmo="SHA1withRSA">FVGanT5jYLSopnBQt7+t48aoLtKTYtFZHCV3c2Z2V3XAdExCke7XXONn9N4Lq1BPR24vnH/qCyvIxaYBVCtEMw==</FRMA>
</CAF>
<TSTED>2016-10-04T14:01:13</TSTED>
</DD>
<FRMT algoritmo="SHA1withRSA">V+YvYUaHFLHuOVg/n5aRxNSgcTkFj2DbGvlH5iyema8h42BNil8f7ewbk7rr5V+a1ShBHcXxU9DjDHWFnQ9p2w==</FRMT>
</TED>
<TmstFirma>2016-10-04T14:01:13</TmstFirma>
</Documento>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#T33">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>LwtihgKaAyu3Szq+NW/QiPHjm24=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>
bnp4e4f6iFP2SG6bplb13aVcf0VUC4ugqmB3GEF4kr2r6AVn+TpcvCGARwpqckUXJZTJ1eXPHKgy
2y79oO3sotyBvGTJG2lDtFhIYvB/7ntKSN4Y1YdTC8t3kscVVB2DPA8CPcX4NVx873o1w46RO/5Z
XZo/rMThRs1w6uG/mRhLQJ5MdXwl38PC46Ji0q9ERKGxDVIufAWpM6joc3Bra7hMFqQcdqH0RQWu
Jo1Ue7gCBzZK1hA2HcxUP5IS5ZJ6UrZU6qLAaqJRChw9auXTTpnxY9SSBL5cy4CRReO3U9dVxReK
WtJ6jPyh1FpsNvkFWMzrEMxu0nE48PLSCw9WAA==
</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>
muHYq0PQCNG/sSdh+7bcDh3QFr8RGSRezbJErsC3um9weS1HbHuISNQjPIuJFmfzwA+Zdly1w3bC
HSDs1RGpN6wuqe5aM/q0YThDNGVA2UC5NJk+krYRYs3VtxhvprXa8J1C8MIKD+yTie72OcA15xiE
+s+LaMBg9v8/qJoXaeuTLkYcAAx52yVX2vpE4bIpfOZVkQEVQq2zVxgdhjNGGbCQC4pNR9t7Yn8B
lbWnQeaqSaB9ikDDz3T+QiLNbA9NAPjFW7m+WIQ8A8HtxpdaLLyBudqptSqhwTlSKu6tjdC/ZL+8
PnRWye87/MS7MLlfGWQ55BRqyn+rxxkb9QqIaQ==
</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509Certificate>
MIIEgzCCA2ugAwIBAgIBQzANBgkqhkiG9w0BAQUFADCBpTEUMBIGA1UEAxMLU0lJLUNBLTIwMTMx
GjAYBgNVBAcTEVNhbnRpYWdvIGRlIENoaWxlMR0wGwYDVQQIExRSZWdpb24gTWV0cm9wb2xpdGFu
YTELMAkGA1UEBhMCQ0wxHDAaBgkqhkiG9w0BCQEWDXNpaS1jYUBzaWkuY2wxJzAlBgNVBAoTHlNl
cnZpY2lvIGRlIEltcHVlc3RvcyBJbnRlcm5vczAeFw0xNTAzMjcxNTM3MzdaFw0xNzAzMjYxNTM3
MzdaMIHwMSQwIgYDVQQLExtTdWJkaXJlY2Npb24gZGUgSW5mb3JtYXRpY2ExJzAlBgNVBAoTHlNl
cnZpY2lvIGRlIEltcHVlc3RvcyBJbnRlcm5vczELMAkGA1UEBhMCQ0wxHTAbBgNVBAgTFFJlZ2lv
biBNZXRyb3BvbGl0YW5hMRowGAYDVQQHExFTYW50aWFnbyBkZSBDaGlsZTEmMCQGCSqGSIb3DQEJ
ARYXU0lJX2R0ZV9pbXByZXNvc0BzaWkuY2wxLzAtBgNVBAMTJlBSVUVCQSBTT1BPUlRFIEZBQ1RV
UkEgRUxFQ1RST05JQ0EgU0lJMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmuHYq0PQ
CNG/sSdh+7bcDh3QFr8RGSRezbJErsC3um9weS1HbHuISNQjPIuJFmfzwA+Zdly1w3bCHSDs1RGp
N6wuqe5aM/q0YThDNGVA2UC5NJk+krYRYs3VtxhvprXa8J1C8MIKD+yTie72OcA15xiE+s+LaMBg
9v8/qJoXaeuTLkYcAAx52yVX2vpE4bIpfOZVkQEVQq2zVxgdhjNGGbCQC4pNR9t7Yn8BlbWnQeaq
SaB9ikDDz3T+QiLNbA9NAPjFW7m+WIQ8A8HtxpdaLLyBudqptSqhwTlSKu6tjdC/ZL+8PnRWye87
/MS7MLlfGWQ55BRqyn+rxxkb9QqIaQIDAQABo3EwbzAJBgNVHRMEAjAAMD0GA1UdEQQ2MDSgGAYI
KwYBBAHBAQGgDBMKNDUwMDAwNTItM6AYBggrBgEEAcEBA6AMEwo2MDgwMzAwMC1LMCMGA1UdEgQc
MBqgGAYIKwYBBAHBAQKgDBMKNjA4MDMwMDAtSzANBgkqhkiG9w0BAQUFAAOCAQEASo7TMMU3Vi0C
meIOQ3k85daCtbRLA5jzmoyGdVXZmF4ibgeRmsoKBzwBA5IciI25XWhnuhNQZECC4lg45I5cEFWN
7Jn90ZEDwtOIifmAemmrx1TzcK2gflM2eLub3Do9WcCAqjh9Xs7SUnhfH0ExhqWJYKXe+TeJJmwV
HRae9A+wIB56f8UroMGrHKwFdKOPCLtk7Unr3I9sisQsRPeEYMRuxJXKPR49ZDi9tbD7Cku/GCoK
qB4g+kJCOGZAjuESRjWR8FyfJEQ3OjdAO9hBoQj+SVrrgnJkOFcH1ue2BAVOMLKUAlWkVlcoCSV1
ip01mMmoZOXlzx6hhAfajFrwiA==
</X509Certificate>
</X509Data>
</KeyInfo>
</Signature></DTE><DTE xmlns="http://www.sii.cl/SiiDte" version="1.0">
<Documento ID="T35">
<Encabezado>
<IdDoc>
<TipoDTE>33</TipoDTE>
<Folio>52726</Folio>
<FchEmis>2013-06-21</FchEmis>
</IdDoc>
<Emisor>
<RUTEmisor>88888888-8</RUTEmisor>
<RznSoc>EMPRESA DE PRUEBA</RznSoc>
<GiroEmis>Informatica</GiroEmis>
<Acteco>1</Acteco>
<CdgSIISucur>59529595</CdgSIISucur>
<DirOrigen>Teatinos 120</DirOrigen>
<CmnaOrigen>Santiago</CmnaOrigen>
<CiudadOrigen>Santiago</CiudadOrigen>
</Emisor>
<Receptor>
<RUTRecep>69507000-4</RUTRecep>
<RznSocRecep>RUT DE PRUEBA PORTAL</RznSocRecep>
<GiroRecep>Comercial</GiroRecep>
<DirRecep>Santiago</DirRecep>
<CmnaRecep>Santiago</CmnaRecep>
<CiudadRecep>Santiago</CiudadRecep>
</Receptor>
<Totales>
<MntNeto>26327</MntNeto>
<TasaIVA>19</TasaIVA>
<IVA>5002</IVA>
<MntTotal>31329</MntTotal>
</Totales>
</Encabezado>
<Detalle>
<NroLinDet>1</NroLinDet>
<CdgItem>
<TpoCodigo>INT1</TpoCodigo>
<VlrCodigo>011</VlrCodigo>
</CdgItem>
<NmbItem>Parlantes Multimedia 180W.</NmbItem>
<DscItem/>
<QtyItem>20</QtyItem>
<PrcItem>4500</PrcItem>
<MontoItem>90000</MontoItem>
</Detalle>
<Detalle>
<NroLinDet>2</NroLinDet>
<CdgItem>
<TpoCodigo>INT1</TpoCodigo>
<VlrCodigo>0231</VlrCodigo>
</CdgItem>
<NmbItem>Mouse Inalambrico PS/2</NmbItem>
<DscItem/>
<QtyItem>1</QtyItem>
<PrcItem>5000</PrcItem>
<MontoItem>5000</MontoItem>
</Detalle>
<Detalle>
<NroLinDet>3</NroLinDet>
<CdgItem>
<TpoCodigo>INT1</TpoCodigo>
<VlrCodigo>1515</VlrCodigo>
</CdgItem>
<NmbItem>Caja de Diskettes 10 Unidades</NmbItem>
<DscItem/>
<QtyItem>5</QtyItem>
<PrcItem>1000</PrcItem>
<MontoItem>5000</MontoItem>
</Detalle>
<TED version="1.0">
<DD>
<RE>88888888-8</RE>
<TD>33</TD>
<F>52726</F>
<FE>2013-06-21</FE>
<RR>69507000-4</RR>
<RSR>RUT DE PRUEBA PORTAL</RSR>
<MNT>31329</MNT>
<IT1>SET INTERCAMBIO NUMERO 705929</IT1>
<CAF version="1.0">
<DA>
<RE>88888888-8</RE>
<RS>EMPRESA DE PRUEBA</RS>
<TD>33</TD>
<RNG>
<D>17479</D>
<H>17901</H>
</RNG>
<FA>2004-03-30</FA>
<RSAPK>
<M>umn8PR3gbC1L3CFheZb5Woh2bj51lvaN2OnwFdTncKXFutekvIAxPmso9DRhgQKJOjlKS1TEKxvzPAYIeEf3tw==</M>
<E>Aw==</E>
</RSAPK>
<IDK>1</IDK>
</DA>
<FRMA algoritmo="SHA1withRSA">FVGanT5jYLSopnBQt7+t48aoLtKTYtFZHCV3c2Z2V3XAdExCke7XXONn9N4Lq1BPR24vnH/qCyvIxaYBVCtEMw==</FRMA>
</CAF>
<TSTED>2016-10-04T14:01:13</TSTED>
</DD>
<FRMT algoritmo="SHA1withRSA">V+YvYUaHFLHuOVg/n5aRxNSgcTkFj2DbGvlH5iyema8h42BNil8f7ewbk7rr5V+a1ShBHcXxU9DjDHWFnQ9p2w==</FRMT>
</TED>
<TmstFirma>2016-10-04T14:01:13</TmstFirma>
</Documento>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#T35">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>GrgWYwI8pTMvAnLJqJAEoK7VGQA=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>
Zo2tHz/pCm+60Kop0VHmfr/+ppdnvRCgGbytgUf0yPj43C3G/mKzNJsE97x4lfaCGBw9bpY8ql70
pdOpash7+S/6iyNJI8KuBVQa4HNdtQB92sh3Of5DzHoKVc+qgmgk2y9IgVsm+16tyzShTlBhg0Aw
6s4AWElg0Ui7Gox6u3A2iuk50MDmIoqOjt2u1sl6IqFMSmGlzeH4vuzkXT+qNSy5EZ+ZwD52ipEH
NNN3QEtlBtI3+h7qvZ7e8Iroy+sFG8Odhy06KaJBPKLC5YouMl3xG4mcuF/hbgkAp1CYRSWs31ub
CbnWAMCsfu8lmnLwN3YUe/cnfoz8oNU69mSl4g==
</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>
muHYq0PQCNG/sSdh+7bcDh3QFr8RGSRezbJErsC3um9weS1HbHuISNQjPIuJFmfzwA+Zdly1w3bC
HSDs1RGpN6wuqe5aM/q0YThDNGVA2UC5NJk+krYRYs3VtxhvprXa8J1C8MIKD+yTie72OcA15xiE
+s+LaMBg9v8/qJoXaeuTLkYcAAx52yVX2vpE4bIpfOZVkQEVQq2zVxgdhjNGGbCQC4pNR9t7Yn8B
lbWnQeaqSaB9ikDDz3T+QiLNbA9NAPjFW7m+WIQ8A8HtxpdaLLyBudqptSqhwTlSKu6tjdC/ZL+8
PnRWye87/MS7MLlfGWQ55BRqyn+rxxkb9QqIaQ==
</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509Certificate>
MIIEgzCCA2ugAwIBAgIBQzANBgkqhkiG9w0BAQUFADCBpTEUMBIGA1UEAxMLU0lJLUNBLTIwMTMx
GjAYBgNVBAcTEVNhbnRpYWdvIGRlIENoaWxlMR0wGwYDVQQIExRSZWdpb24gTWV0cm9wb2xpdGFu
YTELMAkGA1UEBhMCQ0wxHDAaBgkqhkiG9w0BCQEWDXNpaS1jYUBzaWkuY2wxJzAlBgNVBAoTHlNl
cnZpY2lvIGRlIEltcHVlc3RvcyBJbnRlcm5vczAeFw0xNTAzMjcxNTM3MzdaFw0xNzAzMjYxNTM3
MzdaMIHwMSQwIgYDVQQLExtTdWJkaXJlY2Npb24gZGUgSW5mb3JtYXRpY2ExJzAlBgNVBAoTHlNl
cnZpY2lvIGRlIEltcHVlc3RvcyBJbnRlcm5vczELMAkGA1UEBhMCQ0wxHTAbBgNVBAgTFFJlZ2lv
biBNZXRyb3BvbGl0YW5hMRowGAYDVQQHExFTYW50aWFnbyBkZSBDaGlsZTEmMCQGCSqGSIb3DQEJ
ARYXU0lJX2R0ZV9pbXByZXNvc0BzaWkuY2wxLzAtBgNVBAMTJlBSVUVCQSBTT1BPUlRFIEZBQ1RV
UkEgRUxFQ1RST05JQ0EgU0lJMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmuHYq0PQ
CNG/sSdh+7bcDh3QFr8RGSRezbJErsC3um9weS1HbHuISNQjPIuJFmfzwA+Zdly1w3bCHSDs1RGp
N6wuqe5aM/q0YThDNGVA2UC5NJk+krYRYs3VtxhvprXa8J1C8MIKD+yTie72OcA15xiE+s+LaMBg
9v8/qJoXaeuTLkYcAAx52yVX2vpE4bIpfOZVkQEVQq2zVxgdhjNGGbCQC4pNR9t7Yn8BlbWnQeaq
SaB9ikDDz3T+QiLNbA9NAPjFW7m+WIQ8A8HtxpdaLLyBudqptSqhwTlSKu6tjdC/ZL+8PnRWye87
/MS7MLlfGWQ55BRqyn+rxxkb9QqIaQIDAQABo3EwbzAJBgNVHRMEAjAAMD0GA1UdEQQ2MDSgGAYI
KwYBBAHBAQGgDBMKNDUwMDAwNTItM6AYBggrBgEEAcEBA6AMEwo2MDgwMzAwMC1LMCMGA1UdEgQc
MBqgGAYIKwYBBAHBAQKgDBMKNjA4MDMwMDAtSzANBgkqhkiG9w0BAQUFAAOCAQEASo7TMMU3Vi0C
meIOQ3k85daCtbRLA5jzmoyGdVXZmF4ibgeRmsoKBzwBA5IciI25XWhnuhNQZECC4lg45I5cEFWN
7Jn90ZEDwtOIifmAemmrx1TzcK2gflM2eLub3Do9WcCAqjh9Xs7SUnhfH0ExhqWJYKXe+TeJJmwV
HRae9A+wIB56f8UroMGrHKwFdKOPCLtk7Unr3I9sisQsRPeEYMRuxJXKPR49ZDi9tbD7Cku/GCoK
qB4g+kJCOGZAjuESRjWR8FyfJEQ3OjdAO9hBoQj+SVrrgnJkOFcH1ue2BAVOMLKUAlWkVlcoCSV1
ip01mMmoZOXlzx6hhAfajFrwiA==
</X509Certificate>
</X509Data>
</KeyInfo>
</Signature></DTE></SetDTE>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#SetDoc">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>VZqUefe4hYx9epyMteRTgGX1umk=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>
SglAbtDkgzxDPDJUeTfhZ4Rhri+d2Wo3mpC5VhnxSl6com7kododDm07zOqCPnTV7qEuP3PSDXeW
OHu+sTZfFV10EhM4eWs5HsEM8s3ncLvJYtDWi2uXlV6gJTN/p0hq1wQBwID6+pP7NHzitI7oDNMp
XIJ6gKvpUzvvmZm8/Uyirw3wbkjoK206ghFMOrwo/XechNqs+nkIjZxLqz5mQInhsr2Z96i30syF
jb3Fgbb5vNsOtnKJ6dtvvarRDzxneIAp3gttZDn9d1uCQMt5CxcQi3ipOMYgqsyW6DxX1hgMgMwV
SdSDD4pJ3xWyUfb4L4eQaN9ESOnh6P3sie3IKQ==
</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>
muHYq0PQCNG/sSdh+7bcDh3QFr8RGSRezbJErsC3um9weS1HbHuISNQjPIuJFmfzwA+Zdly1w3bC
HSDs1RGpN6wuqe5aM/q0YThDNGVA2UC5NJk+krYRYs3VtxhvprXa8J1C8MIKD+yTie72OcA15xiE
+s+LaMBg9v8/qJoXaeuTLkYcAAx52yVX2vpE4bIpfOZVkQEVQq2zVxgdhjNGGbCQC4pNR9t7Yn8B
lbWnQeaqSaB9ikDDz3T+QiLNbA9NAPjFW7m+WIQ8A8HtxpdaLLyBudqptSqhwTlSKu6tjdC/ZL+8
PnRWye87/MS7MLlfGWQ55BRqyn+rxxkb9QqIaQ==
</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509Certificate>
MIIEgzCCA2ugAwIBAgIBQzANBgkqhkiG9w0BAQUFADCBpTEUMBIGA1UEAxMLU0lJLUNBLTIwMTMx
GjAYBgNVBAcTEVNhbnRpYWdvIGRlIENoaWxlMR0wGwYDVQQIExRSZWdpb24gTWV0cm9wb2xpdGFu
YTELMAkGA1UEBhMCQ0wxHDAaBgkqhkiG9w0BCQEWDXNpaS1jYUBzaWkuY2wxJzAlBgNVBAoTHlNl
cnZpY2lvIGRlIEltcHVlc3RvcyBJbnRlcm5vczAeFw0xNTAzMjcxNTM3MzdaFw0xNzAzMjYxNTM3
MzdaMIHwMSQwIgYDVQQLExtTdWJkaXJlY2Npb24gZGUgSW5mb3JtYXRpY2ExJzAlBgNVBAoTHlNl
cnZpY2lvIGRlIEltcHVlc3RvcyBJbnRlcm5vczELMAkGA1UEBhMCQ0wxHTAbBgNVBAgTFFJlZ2lv
biBNZXRyb3BvbGl0YW5hMRowGAYDVQQHExFTYW50aWFnbyBkZSBDaGlsZTEmMCQGCSqGSIb3DQEJ
ARYXU0lJX2R0ZV9pbXByZXNvc0BzaWkuY2wxLzAtBgNVBAMTJlBSVUVCQSBTT1BPUlRFIEZBQ1RV
UkEgRUxFQ1RST05JQ0EgU0lJMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmuHYq0PQ
CNG/sSdh+7bcDh3QFr8RGSRezbJErsC3um9weS1HbHuISNQjPIuJFmfzwA+Zdly1w3bCHSDs1RGp
N6wuqe5aM/q0YThDNGVA2UC5NJk+krYRYs3VtxhvprXa8J1C8MIKD+yTie72OcA15xiE+s+LaMBg
9v8/qJoXaeuTLkYcAAx52yVX2vpE4bIpfOZVkQEVQq2zVxgdhjNGGbCQC4pNR9t7Yn8BlbWnQeaq
SaB9ikDDz3T+QiLNbA9NAPjFW7m+WIQ8A8HtxpdaLLyBudqptSqhwTlSKu6tjdC/ZL+8PnRWye87
/MS7MLlfGWQ55BRqyn+rxxkb9QqIaQIDAQABo3EwbzAJBgNVHRMEAjAAMD0GA1UdEQQ2MDSgGAYI
KwYBBAHBAQGgDBMKNDUwMDAwNTItM6AYBggrBgEEAcEBA6AMEwo2MDgwMzAwMC1LMCMGA1UdEgQc
MBqgGAYIKwYBBAHBAQKgDBMKNjA4MDMwMDAtSzANBgkqhkiG9w0BAQUFAAOCAQEASo7TMMU3Vi0C
meIOQ3k85daCtbRLA5jzmoyGdVXZmF4ibgeRmsoKBzwBA5IciI25XWhnuhNQZECC4lg45I5cEFWN
7Jn90ZEDwtOIifmAemmrx1TzcK2gflM2eLub3Do9WcCAqjh9Xs7SUnhfH0ExhqWJYKXe+TeJJmwV
HRae9A+wIB56f8UroMGrHKwFdKOPCLtk7Unr3I9sisQsRPeEYMRuxJXKPR49ZDi9tbD7Cku/GCoK
qB4g+kJCOGZAjuESRjWR8FyfJEQ3OjdAO9hBoQj+SVrrgnJkOFcH1ue2BAVOMLKUAlWkVlcoCSV1
ip01mMmoZOXlzx6hhAfajFrwiA==
</X509Certificate>
</X509Data>
</KeyInfo>
</Signature></EnvioDTE>
答案 0 :(得分:0)
这不会获取属性,但它可能是您的问题的快速解决方法:
library(jsonlite)
library(ndjson)
library(xml2)
library(purrr)
library(dplyr)
doc <- read_xml("~/data/doc.xml")
ns <- xml_ns_rename(xml_ns(doc), d1="a1", d2="a2", d3="a3")
documents <- xml_find_all(doc, ".//a2:DTE/a2:Documento", ns)
map_df(documents, function(x) {
as_list(x) %>% toJSON() %>% ndjson::flatten()
}) %>% glimpse()
## Observations: 2
## Variables: 66
## $ Detalle.1.CdgItem.TpoCodigo.0.0 <chr> "INT1", "INT1"
## $ Detalle.1.CdgItem.VlrCodigo.0.0 <chr> "0231", "0231"
## $ Detalle.1.DscItem <int> NA, NA
## $ Detalle.1.MontoItem.0.0 <chr> "5000", "5000"
## $ Detalle.1.NmbItem.0.0 <chr> "Mouse Inalambrico PS/2", ...
## $ Detalle.1.NroLinDet.0.0 <chr> "2", "2"
## $ Detalle.1.PrcItem.0.0 <chr> "5000", "5000"
## $ Detalle.1.QtyItem.0.0 <chr> "1", "1"
## $ Detalle.2.CdgItem.TpoCodigo.0.0 <chr> "INT1", "INT1"
## $ Detalle.2.CdgItem.VlrCodigo.0.0 <chr> "1515", "1515"
## $ Detalle.2.DscItem <int> NA, NA
## $ Detalle.2.MontoItem.0.0 <chr> "5000", "5000"
## $ Detalle.2.NmbItem.0.0 <chr> "Caja de Diskettes 10 Unid...
## $ Detalle.2.NroLinDet.0.0 <chr> "3", "3"
## $ Detalle.2.PrcItem.0.0 <chr> "1000", "1000"
## $ Detalle.2.QtyItem.0.0 <chr> "5", "5"
## $ Detalle.CdgItem.TpoCodigo.0.0 <chr> "INT1", "INT1"
## $ Detalle.CdgItem.VlrCodigo.0.0 <chr> "011", "011"
## $ Detalle.DscItem <int> NA, NA
## $ Detalle.MontoItem.0.0 <chr> "90000", "90000"
## $ Detalle.NmbItem.0.0 <chr> "Parlantes Multimedia 180W...
## $ Detalle.NroLinDet.0.0 <chr> "1", "1"
## $ Detalle.PrcItem.0.0 <chr> "4500", "4500"
## $ Detalle.QtyItem.0.0 <chr> "20", "20"
## $ Encabezado.Emisor.Acteco.0.0 <chr> "1", "1"
## $ Encabezado.Emisor.CdgSIISucur.0.0 <chr> "59529595", "59529595"
## $ Encabezado.Emisor.CiudadOrigen.0.0 <chr> "Santiago", "Santiago"
## $ Encabezado.Emisor.CmnaOrigen.0.0 <chr> "Santiago", "Santiago"
## $ Encabezado.Emisor.DirOrigen.0.0 <chr> "Teatinos 120", "Teatinos ...
## $ Encabezado.Emisor.GiroEmis.0.0 <chr> "Informatica", "Informatica"
## $ Encabezado.Emisor.RUTEmisor.0.0 <chr> "88888888-8", "88888888-8"
## $ Encabezado.Emisor.RznSoc.0.0 <chr> "EMPRESA DE PRUEBA", "EMPR...
## $ Encabezado.IdDoc.FchEmis.0.0 <chr> "2016-10-04", "2013-06-21"
## $ Encabezado.IdDoc.Folio.0.0 <chr> "52725", "52726"
## $ Encabezado.IdDoc.TipoDTE.0.0 <chr> "33", "33"
## $ Encabezado.Receptor.CiudadRecep.0.0 <chr> "Santiago", "Santiago"
## $ Encabezado.Receptor.CmnaRecep.0.0 <chr> "Santiago", "Santiago"
## $ Encabezado.Receptor.DirRecep.0.0 <chr> "Santiago", "Santiago"
## $ Encabezado.Receptor.GiroRecep.0.0 <chr> "Comercial", "Comercial"
## $ Encabezado.Receptor.RUTRecep.0.0 <chr> "76576212-K", "69507000-4"
## $ Encabezado.Receptor.RznSocRecep.0.0 <chr> "E-SERVICE SPA", "RUT DE P...
## $ Encabezado.Totales.IVA.0.0 <chr> "3672", "5002"
## $ Encabezado.Totales.MntNeto.0.0 <chr> "19327", "26327"
## $ Encabezado.Totales.MntTotal.0.0 <chr> "22999", "31329"
## $ Encabezado.Totales.TasaIVA.0.0 <chr> "19", "19"
## $ TED.DD.CAF.DA.FA.0.0 <chr> "2004-03-30", "2004-03-30"
## $ TED.DD.CAF.DA.IDK.0.0 <chr> "1", "1"
## $ TED.DD.CAF.DA.RE.0.0 <chr> "88888888-8", "88888888-8"
## $ TED.DD.CAF.DA.RNG.D.0.0 <chr> "17479", "17479"
## $ TED.DD.CAF.DA.RNG.H.0.0 <chr> "17901", "17901"
## $ TED.DD.CAF.DA.RS.0.0 <chr> "EMPRESA DE PRUEBA", "EMPR...
## $ TED.DD.CAF.DA.RSAPK.E.0.0 <chr> "Aw==", "Aw=="
## $ TED.DD.CAF.DA.RSAPK.M.0.0 <chr> "umn8PR3gbC1L3CFheZb5Woh2b...
## $ TED.DD.CAF.DA.TD.0.0 <chr> "33", "33"
## $ TED.DD.CAF.FRMA.0.0 <chr> "FVGanT5jYLSopnBQt7+t48aoL...
## $ TED.DD.F.0.0 <chr> "52725", "52726"
## $ TED.DD.FE.0.0 <chr> "2016-10-04", "2013-06-21"
## $ TED.DD.IT1.0.0 <chr> "SET INTERCAMBIO NUMERO 70...
## $ TED.DD.MNT.0.0 <chr> "22999", "31329"
## $ TED.DD.RE.0.0 <chr> "88888888-8", "88888888-8"
## $ TED.DD.RR.0.0 <chr> "76576212-K", "69507000-4"
## $ TED.DD.RSR.0.0 <chr> "E-SERVICE SPA", "RUT DE P...
## $ TED.DD.TD.0.0 <chr> "33", "33"
## $ TED.DD.TSTED.0.0 <chr> "2016-10-04T14:01:13", "20...
## $ TED.FRMT.0.0 <chr> "V+YvYUaHFLHuOVg/n5aRxNSgc...
## $ TmstFirma.0.0 <chr> "2016-10-04T14:01:13", "20...
signatures <- xml_find_all(doc, ".//a2:DTE/a3:Signature", ns)
map_df(signatures, function(x) {
as_list(x) %>% toJSON() %>% ndjson::flatten()
}) %>% glimpse()
## Observations: 2
## Variables: 9
## $ KeyInfo.KeyValue.RSAKeyValue.Exponent.0.0 <chr> "AQAB", "AQAB"
## $ KeyInfo.KeyValue.RSAKeyValue.Modulus.0.0 <chr> "\nmuHYq0PQCNG/sSdh+...
## $ KeyInfo.X509Data.X509Certificate.0.0 <chr> "\nMIIEgzCCA2ugAwIBA...
## $ SignatureValue.0.0 <chr> "\nbnp4e4f6iFP2SG6bp...
## $ SignedInfo.CanonicalizationMethod <int> NA, NA
## $ SignedInfo.Reference.DigestMethod <int> NA, NA
## $ SignedInfo.Reference.DigestValue.0.0 <chr> "LwtihgKaAyu3Szq+NW/...
## $ SignedInfo.Reference.Transforms.Transform <int> NA, NA
## $ SignedInfo.SignatureMethod <int> NA, NA
还有其他方法可以将疯狂列表展平为数据框(很多都是在SO上)。