Ler XML com 60.000 registros

6 respostas
Zeed01

Boa madrugada Colegas !

Estou com o seguinte problema:

Tenho que fazer uma integração entre dois sistemas, sendo que um deles irá gerar um arquivo XML com as informações que devem ser consumidas pelo outro.

Minhas dúvidas são:
-Qual a melhor maneira de ler este XML ?
Explicando melhor: me propuseram utilizar uma funcionalidade do Oracle que carrega o XML diretamente em uma tabela e trabalhar com os dados depois, vocês aconselham ?
Pela quantidade de registros e pela quantidade de campos em cada registro (72 campos), é recomendado utilizar Java ?

-Caso Java seja a melhor opção, como vocês recomendam que seja feito ? O que devo usar para ler o XML ?

Nunca trabalhei com uma interface através de troca de arquivos XML, logo, se minhas dúvidas forem muito esdrúxulas por favor me perdoem.

Obrigado a todos.

[]s

6 Respostas

qmx

Sendo java a sua opção, pesquise sobre SAX -> Não vá carregar esse monstro de xml em memória! :mrgreen:

chun

StaX , SAX , todos fedem…

veja este artigo…

http://www.go-java.com/blog/2008/08/01/1217590877657.html

Eu leio cerca de 300 mil linhas :slight_smile:

Zeed01

Boa dia Colegas !

Alguém consegue me passar um exemplo ?
Não consegui acessar este artigo…

Um abraço.

Kenobi

Sinceramente existem formas mais fáceis e tranquilas, uma delas é Xstream, tutorial de 2 minutos - http://xstream.codehaus.org/. Você também pode utilizar o approach de mapeamento OXM , similar ao ORM, só que para XML. Mapeie seu XML com algum framework ( JAXB2, XMLBeans), assim você poderá trabalhar com Pojos e ler numa estrutura de grafo.

Nas integrações que realizo entre sistemas, costumo utilizar OXM com os dois frameworks - JAXB2 e XmlBeans. Existe ainda um projetinho bacana , para mapear seu OXM e ORM conjuntamente, mas isso seria outro tópico 8)

renzonuccitelli

Tenta usar o JColtrane (http://sourceforge.net/projects/jcoltrane/).

fabiozoroastro

Bom dia!
Depende muito da forma para que você precisa dos dados na outra aplicação. Se você precisa carregar tudo em memória para não ter que consumir mais do XML, eu recomendo NÃO utilizar XSTream. Já vi problemas e problemas com XStream quando precisei ler arquivos xml com mais de 100MB.
O melhor é você pegar esses “parsers” e realizar seus próprios testes.

Abraço.

Criado 23 de agosto de 2008
Ultima resposta 18 de set. de 2008
Respostas 6
Participantes 6