SAXBuilder sb = new SAXBuilder();
Document d = sb.build(new StringReader(xml));
Element notas = d.getRootElement();
List elements = notas.getChildren();
Iterator i = elements.iterator();
while (i.hasNext()) {
Element elemento = (Element) i.next();
if (elemento.getName().equals("NFe")) {
List dadosNota = elemento.getChildren();
Iterator iDados = dadosNota.iterator();
while (iDados.hasNext()) {
Element elementoDadoNota = (Element) iDados.next();
if (elementoDadoNota.getName().equals("infNFe")) {
System.out.println("Id = " + elementoDadoNota.getAttributeValue("Id"));
//System.out.println("Nome: " + elementoDadoNota.getName());
Element infNFe = elementoDadoNota;
List<Element> dadosInfNFe = infNFe.getChildren();
Element ide = dadosInfNFe.get(0);
System.out.println(""+ide.getChildText("mod")); // aqui retorna null mas existe um filho de ide com o nome mod
List<Element> dadosIde = ide.getChildren();
System.out.println("==== "+dadosIde.get(0).getText()); // aqui aparece certo: 35 (primeiro elemento de ide)
}
}
}
}
Problema lendo XML da NFe com JDom
Preciso ler o conteúdo do XML da nota fiscal eletrônica mas não estou conseguindo pegar o "valores" usando o nome do elemento com o JDcom.
Já estou achando horrível esse monte de while e if, não tem um jeito mais fácil?
Como faço?
4 Respostas
eu uso o JAX, com ele eu transformo o xml em objeto e pego os valores que eu quero
Me dá um exemplo, please!
Muitíssimo obrigado amigo, já estou lendo e é um tutorial muito bom esse.
Criado 16 de novembro de 2009
Ultima resposta 16 de nov. de 2009
Respostas 4
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo