XML, SAX, DOM, Xerces..?

4 respostas
andretco

Oi Pessoal,

estou confundido com ese negócio do parser para um XML…

-tenho um ou varios XML e um XML Schema;

-sei que o DOM ocupa muita memoria e nao serve para XML grandes, por tanto, não me serve;

-sei que o SAX lee o XML em forma de eventosmas é mais complicado de programar e accesar aos dados em comparação com o DOM;

O que eu quero é que se verifique que o XML está de acordo com o XML Schema (isso faz um parser né??) e se é assim, desejo que guarde os dados numa estrutura de modo que possa acessar-los e trabalhar com eles dentro do meu programa…e depois quero escrever um XML dentro do meu programa…é como um arquivo de configuração.

Tenho que usar sim ou sim um dos dois (DOM ou SAX)???
Posso só usar o Xerces para o que eu quero???
Existe outro parser que me facilite o trabalho??? O JAXB me serve??

Sou iniciante e recém estou conhecendo o esquema dos Parsers…e por isso tô meio confundido…

Muito obrigado pela sua paciência.

Até mais.

4 Respostas

faelcavalcanti

SAX só permite leitura. Algumas pessoas tem utilizado bastante o JDOM, agora o que você tem que avaliar é a quantidade de tráfico de informações ou o tamanho do XML que será processado. Hoje utilizo a API do StAX dentro do próprio java. Conheci a partir da javamagazine por um artigo da edicao nº 22. Procure em seções por download para baixar exemplos de uso. Foram feitos benchmarks quanto a esta API e tem sido melhor justamente sobre o SAX, e qualquer outro.

andretco

ok. obrigado faelcavalcanti …mas continuo com uma dúvida…

se pode usar Xerces sem SAX, DOM ou outro API parecido???

S

Bom, eu precisei validar um schema e extrair os dados dele (não criei um). Utilizei a própria API padrão do javax.xml (com XPath) e foi bom para evitar um download maior no JWS.
Eu usei esse tutorial: http://www.onjava.com/pub/a/onjava/2005/01/12/xpath.html
É simples.
Detalhe que não se usa mais o NodeSet, mas o com.sun.org.apache.xml.internal.dtm.ref.DTMNodeList ao invés de NodeSet.

renzonuccitelli

Sei que o post é antigo, mas vou deixar aqui uma opção pra quem olhar o post: http://sourceforge.net/projects/jcoltrane/
Esse framework possui tutoria em português e usa o SAX por baixo dos panos, mas é bem mais fácil de mexer que o SAX.

Criado 25 de janeiro de 2008
Ultima resposta 18 de set. de 2008
Respostas 4
Participantes 4