Ola,
eu ja estava desenvolvendo outra parte quando eu peguei uma NFe emitida por fornecedor do cliente e vi que o arquivo xml não é do mesmo tipo que o arquivo do meu teste, alterei o código de acordo com as informações acima mas não consego de jeito algum implementar o código acima, o erro que estou tendo no momento é:
javax.xml.bind.UnmarshalException: unexpected element (uri:"http://www.portalfiscal.inf.br/nfe", local:"nfeProc"). Expected elements are <{http://www.portalfiscal.inf.br/nfe}NFe>
O código alterado é:
JAXBContext context1 = JAXBContext.newInstance("br.inf.portalfiscal.nfe");
javax.xml.bind.Unmarshaller unmarshaller1 = context1.createUnmarshaller();
JAXBElement<TNfeProc> element = (JAXBElement<TNfeProc>) unmarshaller1.unmarshal(new File(xml));
TNfeProc pegadados = element.getValue();
String versao = pegadados.getNFe().getInfNFe().getVersao();
String id = pegadados.getNFe().getInfNFe().getId();
System.out.println(versao+" "+id);
TProtNFe tNfeProc = pegadados.getProtNFe();
List<TProtNFe.InfProt> listaDet = (List<TProtNFe.InfProt>) tNfeProc.getInfProt();
TProtNFe.InfProt det;
for (int n = 0; n < listaDet.size(); n++) {
det = listaDet.get(n);
System.out.println(det.getId());
System.out.println(det.getNProt());
}
} catch (JAXBException e)
{
System.out.println(e);
}
}else{JOptionPane.showMessageDialog(null,xml+" Arquivo não encontrado !"
,"Erro !", JOptionPane.ERROR_MESSAGE);}
Em Quarta-feira, 1 de Abril de 2015 9:12, "Enio Nunes enio.a.nunes@gmail.com [java-br]" <java-br@yahoogrupos.com.br> escreveu:
seguindo a sequencia :
TNFe nfe = nfeProc.getNFe(); //carregou a NFE
TNFe.InfNFe infNfe = nfe.getInfNFe(); // conteudo da nfe
List<TNFe.InfNFe.Det> listaDet = infNfe.getDet(); // detalhes da nfe
.TNFe.InfNFe.Det det;
//iterando sobre os itens da nfe
for (int i = 0; i < listaDet.size(); i++) {
det = listaDet.get(i);
}
0 comentários:
Postar um comentário