Como vocês lêem XML em Java?  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7839
Localização: São Paulo, SP
Offline

Estou precisando parsear uma porrada de XMLs que seguem um DTDzinho bem básico, e estou seriamente pensando em usar o Jakarta Commons-Digester pra isso, mas antes de sair me sujando de código, eu queria saber se tem mais alguma alternativa boa por aí, já que as únicas que eu considerei foram usar SAX e DOM (do Xerces). Qual a sua maneira favorita de ler XML?

[]'s
-cv
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Daniel Quirino Oliveira
Moderador
[Avatar]

Membro desde: 23/03/2003 23:57:34
Mensagens: 3282
Localização: Awawawawa (Araraquara) - SP
Offline

Sei que você não gosta muito dele, Carlos, mas eu uso JDOM. Aliás, mesmo que seja muito mais "caro" trabalhar com DOM (já que a árvore inteira vai para a memória), é muito mais prático. Trabalhar com verificações usando DTD com JDOM também é muito fácil.

Daniel Quirino Oliveira
[Email] [WWW]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4154
Localização: São Paulo
Offline

eu uso sax. consome 1k de memoria . porem eh meios acal pq vc tem de ficar guardando o path q vc ta neh?

nucna usei DOM, porque como o daniel disse, eh tudo pro heap!
ja o JDOM, eu iamginava q ele colocasse boa parte da arvore na cabeca na hora.

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7839
Localização: São Paulo, SP
Offline

No meu caso, parsear usando uma árvore (DOM) ou eventos (SAX) não é problema, já que os arquivos são pequenos, e o que eu queria mesmo era programar o mínimo possível... idéias?
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Daniel Quirino Oliveira
Moderador
[Avatar]

Membro desde: 23/03/2003 23:57:34
Mensagens: 3282
Localização: Awawawawa (Araraquara) - SP
Offline

Já que a idéia é programar o mínimo possível, então use JDOM (já que não tem problema com uso de memória). No site da Oracle Magazine (http://otn.oracle.com/oramag) tem um tutorial bem interessante de como usar o JDOM.
[/url]

Daniel Quirino Oliveira
[Email] [WWW]
Rafael Steil
Administrador
[Avatar]

Membro desde: 31/08/2002 02:35:53
Mensagens: 5983
Localização: São Paulo
Offline

Bom, dependendo do caso as vezes eh ate mais simples usar SAX ao inves de DOM. Por exemplo, eh um processamento simples, num documento sem muitas variacoes de tags.. SAX acaba sendo rapido de implementar e muito simples de entender tambem ( ja que fica algo mais "procedural" ).

Rafael

"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"

http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil
[Email] [WWW]
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

se o commons-digester resolve todo teu problema, nem se aventure em usar sax/dom, eh bem mais simples e pratico que as apis genericas.
[ICQ]
ricardolecheta
GUJ Master
[Avatar]

Membro desde: 17/05/2003 13:42:10
Mensagens: 1485
Localização: Curitiba
Offline

estava procurando no forum sobre XML e encontrei esta Thread

seguinte pessoal, vcs estão falando de fazer o parser no XML, agora a respeito de criar ou alterar o XML?

eu gostei do JDom dá de fazer as duas coisas com ele, ler gravar...

mas o Digester eu só consegui ler... acho que ele não gera XML né?

que outra opção eu tenho para criar um xml ?

thanks

Ricardo R. Lecheta
Livro - Google Android (português)
http://www.livroandroid.com.br/
http://livroandroid.blogspot.com/
http://www.mlife.com.br/
douglasfs
JavaEvangelist
[Avatar]

Membro desde: 31/12/2002 17:50:02
Mensagens: 305
Localização: São Paulo / Brasil
Offline

cv wrote:Estou precisando parsear uma porrada de XMLs que seguem um DTDzinho bem básico, e estou seriamente pensando em usar o Jakarta Commons-Digester pra isso, mas antes de sair me sujando de código, eu queria saber se tem mais alguma alternativa boa por aí, já que as únicas que eu considerei foram usar SAX e DOM (do Xerces). Qual a sua maneira favorita de ler XML?

[]'s
-cv


Minha maneira favorita de ler XML é através do JDOM, pois deixa o código bem limpo

SCJP 1.4, SCWCD 1.4, SCBCD 5.0 beta
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline

O commons-digester é muito util quando voce quer mapear um xml para objetos já existentes do teu sistema ou realizar diretamente o processamento dele sem criar primeiro uma representação intermediaria.

Porem se voce ta saindo do zero, uma excelente opção é o castor, voce alimenta com um Xml Schema e ele te produz um jogo de classes que realizam parsing, validação e serialização com voce escrevendo 1 linha para cada operação. Ele gera um JavaBean por tipo do schema.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1126
Offline

Sei que o Tópico é antigo, mas caso alguém o leia, tente usar o framework JColtrane. Ele usa o SAX por baixo (portanto não consome tanta memória como o JDOM) e oferece algumas facilidade pra não ter que programar tudo na mão. Basta usar anotações e pra XML simples vc não tem praticamente nenhum trabalho.

This message was edited 2 times. Last update was at 25/03/2009 07:40:29


Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
phfaustino
Thread.start()
[Avatar]

Membro desde: 09/03/2009 09:20:38
Mensagens: 32
Offline

Sou iniciante no desenvolvimento java e precisei manipular XML, ou seja, cria, ler, alterar etc...
Após ler muitos artigos, optei pelo JDOM e não me arrependi.
Para começar, basta importar o jar para seu projeto e seguir o seguinte tutorial: http://javafree.uol.com.br/topic-847694-Utilizando-JDOM-para-ler-e-gerar-XML.html

[]'s
palmadias
JavaTeenager

Membro desde: 08/07/2008 07:41:08
Mensagens: 192
Localização: São Paulo/SP
Offline

boa tarde!

particularmente gosto do Xstream. Acho que facilita muito o trabalho.

abraços.

http://palmadias.blogspot.com/
[WWW] [MSN]
lucas_sa
Java Ninja

Membro desde: 07/11/2006 12:53:38
Mensagens: 267
Localização: SP
Offline

6 anos depois....
Vinci
Entusiasta Java
[Avatar]

Membro desde: 06/04/2009 14:21:01
Mensagens: 17
Offline



// coloquei o dom4j-1.6.jar na lib e ja era hehehe (peguei este código não lembro onde)

Abs

This message was edited 1 time. Last update was at 06/04/2009 18:37:55

 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team