回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有以下结构的python字典:</p>
<pre><code>d={ 'cfdi:Emisor': {'rfc': u'ALF040329CX6', 'nombre': u'ALFATECH, S.A. DE C.V.',
'cfdi:RegimenFiscal': {'Regimen': u'Personas morales del r\xe9gimen general'},
'cfdi:ExpedidoEn': {'calle': u'ING. INDUSTRIALES', 'localidad': u'MORELIA', 'pais': u'M\xe9xico', 'noInterior': 'N/A', 'colonia': u'BUENAVISTA 1A ETAPA', 'noExterior': u'215', 'codigoPostal': u'58228', 'estado': u'Michoac\xe1n', 'municipio': u'MORELIA'},
'cfdi:DomicilioFiscal': {'calle': u'ING. INDUSTRIALES', 'localidad': u'MORELIA', 'pais': u'M\xe9xico', 'noInterior': 'N/A', 'colonia': u'BUENAVISTA 1A ETAPA', 'noExterior': u'215', 'codigoPostal': u'58228', 'estado': u'Michoac\xe1n', 'municipio': u'MORELIA'},
}}
</code></pre>
<p>这个结构由字典中的字典组成。我需要将其转换为XML,然后我得到了以下代码来实现:</p>
^{pr2}$
<p>此函数在上一个字典中工作正常,并返回以下内容:</p>
<pre><code><cfdi:Emisor nombre="ALFATECH, S.A. DE C.V." rfc="ALF040329CX6">
<cfdi:RegimenFiscal Regimen="Personas morales del régimen general"/>
<cfdi:ExpedidoEn calle="ING. INDUSTRIALES" codigoPostal="58228" colonia="BUENAVISTA 1A ETAPA" estado="Michoacán" localidad="MORELIA" municipio="MORELIA" noExterior="215" noInterior="N/A" pais="México"/>
<cfdi:DomicilioFiscal calle="ING. INDUSTRIALES" codigoPostal="58228" colonia="BUENAVISTA 1A ETAPA" estado="Michoacán" localidad="MORELIA" municipio="MORELIA" noExterior="215" noInterior="N/A" pais="México"/>
</cfdi:Emisor>
</code></pre>
<p>这就是我一直在等待的,但现在我需要对这个结构基本相同但包含不同元素的字典执行相同的操作:</p>
<pre><code>d3={ 'catalogocuentas:Catalogo': {'rfc': u'ALF040329CX6', 'xmlns:catalogocuentas':'"http://www.sat.gob.mx/catalogocuentas"', 'xmlns:xsi':'"http://www.w3.org/2001/XMLSchema-instance"', 'xsi:schemaLocation':'"http://www.sat.gob.mx//catalogocuentas"', 'Ano':'2014', 'Mes':'02', 'TotalCtas':'219','version':'1.0',
'catalogocuentas:Ctas': {'Natur': u'D', 'nivel':'2', 'SubCtaDe':'1110-000-000', 'Desc':'CAJA CHICA', 'NumCta':'1110-001-000', 'CodAgrup':'1.1'},
'catalogocuentas:Ctas': {'Natur': u'D', 'nivel':'3', 'SubCtaDe':'1120-001-000', 'Desc':'Banamex 741107-1', 'NumCta':'1120-001-001', 'CodAgrup':'2.1'},
'catalogocuentas:Ctas': {'Natur': u'D', 'nivel':'3', 'SubCtaDe':'1120-001-000', 'Desc':'Bancomer 12911256971', 'NumCta':'1120-001-002', 'CodAgrup':'2.1'}
}}
</code></pre>
<p>你们可以看到,主要的区别是这个字典对于内部元素(dictionaries)有相同的标记,我得到了以下结果:</p>
<pre><code><?xml version="1.0" encoding="utf-8"?>
<catalogocuentas:Catalogo Ano="2014" Mes="02" TotalCtas="219" rfc="ALF040329CX6" version="1.0" xmlns:catalogocuentas="&quot;http://www.sat.gob.mx/catalogocuentas&quot;" xmlns:xsi="&quot;http://www.w3.org/2001/XMLSchema-instance&quot;" xsi:schemaLocation="&quot;http://www.sat.gob.mx//catalogocuentas&quot;">
<catalogocuentas:Ctas CodAgrup="2.1" Desc="Bancomer 12911256971" Natur="D" NumCta="1120-001-002" SubCtaDe="1120-001-000" nivel="3"/>
</catalogocuentas:Catalogo>
</code></pre>
<p>如您所见,我只从d3得到最后一个元素(字典),而不是所有元素。在</p>
<p>由此我可以得出结论,问题可能是在这个字典中,我的所有元素都有相同的标记。在</p>
<p>这是真正的问题吗?在</p>
<p>如有任何建议,我们将不胜感激!!!在</p>
<p>提前谢谢。在</p>