TadaSoftware / PyNFe

Projeto de biblioteca para fazer interface com o webservice de Nota Fiscal eletrônica para Python, disponível sob LGPL.
http://groups.google.com/group/pynfe
Other
412 stars 171 forks source link

chave nfe como nome do xml #297

Closed leandrogrupozani closed 10 months ago

leandrogrupozani commented 11 months ago

Tem como eu trocar esta linha

with open(f'./consulta_distrib-nsu-{NSU}-contador-{contador_xml}.xml', 'w+', encoding='UTF-8') as f:

pra ficar algo como ./{ChaveDaNFe}.xml ?

leogregianin commented 11 months ago

Primeiro terá que ler o XML e extrair a chave, exemplo abaixo:

(...)

texto_descompactado = etree.tostring(resposta_descompactado).decode('utf-8')

xml = etree.fromstring(xml_completo)
ns = {'ns': NAMESPACE_NFE}
chave = xml.xpath('//ns:infProt/ns:chNFe', namespaces=ns)[0].text

with open(f'{chave}.xml', 'w+', encoding='UTF-8') as f:
    f.write(texto_descompactado)

(...)
leandrogrupozani commented 11 months ago

Obrigado! Deu certo!