Archive for category NF-e
Lendo arquivos XML no NetExpress 3.1 com MSXML
Olá companheiros !
Depois de um longo tempo sem atualizações, trouxe mais uma dica bacana para os amigos que como eu, estão sofrendo com a NF-e no NetExpress.
Utilizo o Uninfe para realizar o envio e retorno das notas e sempre tratei os arquivos de retorno no NetExpress com o INSPECT. Hoje porém, me deparei com um problema mais sério, ler um XML de uma NF-e inteira e importar as informações para o meu sistema. Mais de 300 TAGS’s com INSPECT complicaria um pouco, certo ?
Já encontrei muitos exemplos de leitura de XML com as novas versões do NetExpress, a partir da versão 4 esse controle é nativo da ferramenta, mas e como fica o meu Net 3.1 ? Encontrei nesse site um demo de leitura do XML e para a minha surpresa, rodou certinho no Net 3.1, dei uma boa olhada para pegar o conceito e resolvi criar um demo um pouco mais “didático”, para que outros também possam utilizar essa ferramenta.
Imagine poder chamar um método, passando para ele somente o nome do arquivo XML e retornando um objeto NFE com todos os dados da nota carregados ?
invoke wsrXml "CarregaNfe" using wsChave returning umaNFe
Esse é o meu objetivo, e com essa rotina ele ficou mais próximo de ser alcançado. =)
Agora chega falatório, vamos a classe.
Para testar, declare a classe wsrXml no seu programa e simplesmente faça a chamada assim:
invoke wsrXml "LeXml"No método “LeXml” eu deixei o caminho absoluto do arquivo XML que será aberto, não esqueça de alterar isso também antes de testar.
Daí pra frente é só animar e ler os comentários no código fonte. Ele vai imprimir na tela todas as TAG’s e Valores do arquivo XML. Só gostaria de lembrar que esse exemplo foi feito exclusivamente para um XML que tenha uma TAG principal e as suas “filhas”. O correto seria utilizar recursividade para poder ler infinitos níveis e valores no XML. Assim que eu tiver novos métodos, prometo atualizar o exemplo.
Fazer download do projeto - Ou você pode acessar a área de downloads.
O projeto foi útil pra você ? Deixe seu comentário para que eu saiba disso.
Abraço.

