Manipulando XML com Java de maneira otimizada

[ad#texto]

Trabalhar com XML pode ser um tanto complicado, não falando da técnica em si, mas do que podemos encontrar no decorrer de um projeto, supondo que pela necessidade você precise utilizar DOM e não SAX, em um arquivo XML superior a 50 MB, pode ter certeza que terá problemas de performance, afinal a capacidade de atravessar a árvore do XML que o DOM possui tem um impacto significativo muito negativo quando falamos de performance.

Mas nem tudo são problemas, o pessoal da Ximpleware desenvolveu uma solução robusta, veloz e que permite uma semântica de trabalho muito próxima ao DOM e além de rápido é possível trabalhar com um XML de até 254 GB, desde que em um ambiente de 64 bits, tanto o sistema operacional quanto a JVM, sim, o Ximpleware está disponível para Java e C.

O VTD trabalha utilizando bytes, o que facilita devido ao uso de tokens para identificar os nodos do XML, resultando na possibilidade de se trabalhar com xPath apontando seletivamente para qual nodo for necessário.

Veja um exemplo para abrirmos um arquivo XML e iterarmos sob o nodo ROOT utilizando Java:

VTDGen vg = new VTDGen();
AutoPilot ap = new AutoPilot();
vg.setDoc(toByteArray("D:\\teste.xml") );
vg.parse(true);
VTDNav vnPrincipal = vg.getNav();
 
ap.selectXPath("//root");
ap.bind(vnPrincipal);
ap.selectElement("*");
 
while(ap.iterate()){
  //sua iteração aqui
}

Muito simples e veloz, muito veloz.

Tags:,
Petter Rafael
Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 322 outros assinantes

Busca

setembro 2020
DSTQQSS
 12345
6789101112
13141516171819
20212223242526
27282930 

Categorias