Manipulando arquivos XML grandes

[ad#texto]

Realizar intercambio de dados com XML é algo bem funcional, se deixarmos de utilizar DOM e adotarmos o VTD, ainda mais se estamos falando de arquivos XML grandes, com tamanhos que facilmente ultrapassam os GB´s.

Utilizando VTD temos suporte para processar arquivos XML de até 256 GB, desde que utilizando uma JVM de 64 bits (se a JVM for de 32 bits este tamanho cai um pouco), para isso temos que utilizar classes específicas para trabalharmos o tipo de mapeamento de memória que o VTD (Java) deverá fazer ao processar um arquivo XML deste tamanho.

As classes destinadas ao processamento de XML grandes utilizam um mapeamento de memória específico que mapeia fragmentos do XML em memória, fazendo esta troca de alocação durante toda a leitura do arquivo XML.

Veja um exemplo com mapeamento de memória:

public static void second_read() throws Exception{
 VTDGenHuge vg = new VTDGenHuge();
 
 if (vg.parseFile("teste.xml",true,VTDGenHuge.MEM_MAPPED)){
  VTDNavHuge vn = vg.getNav();
  System.out.println("Texto: ===>" + vn.toString(vn.getText()));
 }
}

Agora veja o mesmo exemplo com o modo “in-memory”, este método é o mesmo utilizado na forma tradicional de execução do VTD:

public static void second_read() throws Exception{
 VTDGenHuge vg = new VTDGenHuge();
 
 if (vg.parseFile("teste.xml",true,VTDGenHuge.IN_MEMORY)){
  VTDNavHuge vn = vg.getNav();
  System.out.println("Texto  ===>" + vn.toString(vn.getText()));
 }
}
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 321 outros assinantes

Busca

outubro 2020
DSTQQSS
 123
45678910
11121314151617
18192021222324
25262728293031

Categorias