Estou utilizando JDOM para lêr os dados do XML da NF-e, porem me deparei com um problema. Existe versão de NF-e 1.10 e 2.00, ou seja, o XML muda, e também tem alguns XML que tem o NFeProc e outros não tem.
O que vocês fazem para se livrar desse tipo de problema?
Amigo, para pegar a chave de acesso, eu descartei o uso de Api’s de XML, criei um parser de texto mesmo, e o processo esta com bom desempenho.
Se você quer apenas este campo tenta parsear o texto puro, caso queira usar JDOM, faça um condicional na leitura, caso retorne null aplique o outro método.
Amigo, para pegar a chave de acesso, eu descartei o uso de Api’s de XML, criei um parser de texto mesmo, e o processo esta com bom desempenho.
Se você quer apenas este campo tenta parsear o texto puro, caso queira usar JDOM, faça um condicional na leitura, caso retorne null aplique o outro método.
Também estou tendo problemas para parsear o xml da Nfe.
Você poderia me dar um caminho de como você fez isso?
Porque eu também tentei com DOM e não consegui, testei tbm com JDOM e tenho erros.
Poderia me dar uma luz?
Tente utilizar JColtrane, achei bem facil de usar.
Inicialmente eu o estava utilizando, porem como eu parseava grandes lostes de NFe, eu estava tendo problemas com XMl’s mal formados, dai fui na unha mesmo.
Cara, consegui resolver o meu problema usando o XMLBeans. Eu executo um comando passando o schema na NFE e informo um caminho, então o xmlbeans me gera um jar com as classes para acessar direto, por exemplo eu só faço isso:
XmlProcDocument proc = new XmlProcDocument.Factory.parse(new File("nfe.xml"));
proc.getNFe().getInfNfe()....