Problema com Parser XML
Posted: 07 Aug 2020, 14:12
Boa tarde,
Estou com alguma dificuldade em parsear arquivos XML da Nota fiscal eletrônica. O que acontece é que há vários nodes em que não existe uma certa tag, como por exemplo, <vICMS>. Por isso eu preciso utilizar o método SelectSingleNodes.
O problema é que na hora de fazer o Loop, eu não consigo fazer o script resolver a váriavel para ir puxando os campos.
Como faço para fazer um Loop para selecionar o det[0], det[1], det[2], etc...?
Obs. Eu até tentei o método selectNodes, mas aí quando um produto não tiver a chave, ele vai simplesmente pular ao invés de me retornar um valor vazio por exemplo.
Será que alguem sabe como posso resolver?
Estou com alguma dificuldade em parsear arquivos XML da Nota fiscal eletrônica. O que acontece é que há vários nodes em que não existe uma certa tag, como por exemplo, <vICMS>. Por isso eu preciso utilizar o método SelectSingleNodes.
O problema é que na hora de fazer o Loop, eu não consigo fazer o script resolver a váriavel para ir puxando os campos.
Code: Select all
FileRead, arq, *p65001 arq.xml
doc := ComObjCreate("Msxml2.DOMDocument.3.0")
doc.async := false
doc.loadXML(arq)
Valor_ICMS := doc.selectSingleNode("//det[0]/imposto/ICMS/*/vICMS") ; meu problema é não conseguir iterar para ir selecionando os próximo nodes, det[1], det[2]
Valor_ICMS := Valor_ICMS.text
MsgBox, % Valor_ICMS
Obs. Eu até tentei o método selectNodes, mas aí quando um produto não tiver a chave, ele vai simplesmente pular ao invés de me retornar um valor vazio por exemplo.
Será que alguem sabe como posso resolver?