<p>已经存在用于此<a href="https://pypi.python.org/pypi/xmler" rel="nofollow">one of which I created</a>的库。使用<code>xmler</code>包,您可以轻松地将字典转换为以下xml:</p>
<pre><code><?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" ?>
<cfdi:Emisor xmlns:cfdi="www.sat.gob.mx/cfd/3">
<cfdi:DomicilioFiscal>
<pais>Mexico</pais>
<localidad>MORELIA</localidad>
<estado>Michoacán</estado>
<noExterior>215</noExterior>
<municipio>MORELIA</municipio>
<calle>ING. INDUSTRIALES</calle>
<noInterior>N/A</noInterior>
<codigoPostal>58228</codigoPostal>
<colonia>BUENAVISTA 1A ETAPA</colonia>
</cfdi:DomicilioFiscal>
<nombre>ALFATECH, S.A. DE C.V.</nombre>
<cfdi:ExpedidoEn>
<pais>Mexico</pais>
<localidad>MORELIA</localidad>
<estado>Michoacán</estado>
<noExterior>215</noExterior>
<municipio>MORELIA</municipio>
<calle>ING. INDUSTRIALES</calle>
<noInterior>N/A</noInterior>
<codigoPostal>58228</codigoPostal>
<colonia>BUENAVISTA 1A ETAPA</colonia>
</cfdi:ExpedidoEn>
<rfc>ALF040329CX6</rfc>
<cfdi:RegimenFiscal>
<Regimen>Personas morales del régimen general</Regimen>
</cfdi:RegimenFiscal>
</cfdi:Emisor>
</code></pre>
<p>为了获得这个XML结构并使其正确打印,您必须稍微修改一下字典,因为您当前没有为<code>cfdi</code>定义XML名称空间。我使用了以下词典:</p>
^{pr2}$
<p>然后跑了</p>
<pre><code>print(xmler(d, customRoot=None, pretty=True))
</code></pre>
<p>注意字典中的<code>@attrs</code>键。它向元素添加属性。您也可以在这里使用<code>@ns</code>键来设置名称空间,而不是使用冒号分隔的字符串。在</p>