Ir ao conteúdo

Posts recomendados

Postado

Olá, sou iniciante em java. Estava querendo saber, como faço para ler uma xml de uma nota fiscal, acessar todos os seus campos e valores também, utilizando alguma biblioteca nativa do jdk. Para depois jogar em tabela. Alguém teria algum exemplo disso ?

  • 2 semanas depois...
Postado

Bem ... em primeiro lugar você precisa criar as classes que representarão cada uma das Tags do XML da NFe. Isso não é muito difícil caso seja apenas para transformar do XML para o objeto, o mesmo não pode ser dito para transportar do objeto para o XML, pois o XML da NFe tem regras de formação um pouco tanto complexas.


Após criar TODAS as classes descritas na documentação da NFe, você pode usar uma das bibliotecas para fazer isso, como a padrão da JAXB ... eu sinceramente prefiro trabalhar com a XSTREAM para fazer essa conversão. No site da biblioteca tem vários exemplos e temos vários casos de dúvidas sobre ele em sites e fóruns. Vai um exemplo básico de como ler um XML e transformá-lo em Objeto.

 

XStream xs = new XStream(new DomDriver("UTF-8"));
xs.autodetectAnnotations(true);
xs.alias("nfeProc", NfeProc.class);
return (NfeProc) xs.fromXML(xml);

Note o comando autodetectAnnotations(true). Isso libera a biblioteca para procurar pelas anotações da classe para itens como Listas, atributos com nomes diferentes no xml e na classe, entre outras coisas. Por exemplo:

 

@XStreamImplicit(itemFieldName="det")
private List<Det> det;

Esse código força o nome da tag como 'det', ao invés dele criar uma tag 'det' e internamente vários outros 'det' compondo a lista.

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...