akretion / nfelib

nfelib - bindings Python para e ler e gerir XML de NF-e, NFS-e nacional, CT-e, MDF-e, BP-e
MIT License
144 stars 59 forks source link

Precido de Ajuda para pegar um campo. #112

Closed sclFabio closed 3 months ago

sclFabio commented 3 months ago

Olá, estou aprendendo a utilizar a biblioteca e dando meus primeiros passos com NF-e. Eu preciso pegar o campo:

produto = nfe.NFe.infNFe.det.prod.xProd

estou obtendo como retorno o seguinte erro:

AttributeError: 'list' object has no attribute 'prod'.

Consigo acessar os outros campos do xml menos esse, existe alguma coisa de diferente nele?. Estou seguindo normalmente o método de seleção apresentado na página inicial, se eu selecionar somente nfe.NFe.infNFe.det obtenho todo o campo "det".

Agradeço desde já.

rvalyi commented 3 months ago

Ola é porque o attributo det é uma lista mesmo. A lista das linhas da NFe no caso. ai depois precisa de uma base com Python. vc pode mostrar o primeiro elemento da lista com ...infNFe.det[0].xProd

ou vc pode fazer um loop, por exemplo: `for item in ...infNFe.det: print(item.xProd)



nao consegui indentar o for no celular, mas vc pegou a ideia né?
...
sclFabio commented 3 months ago

Boa tarde, entendi. Vou testar aqui, qualquer coisa volto a perguntar.

Muito obrigado.