Trabalhando com o XStream  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
anderson_lp789
JavaGuru

Membro desde: 19/06/2010 19:24:50
Mensagens: 206
Offline

Bom pesquisei bastante sobre o XStream e ele me chamou muito a atenção pela enorme facilidade em gerar e ler arquivos XML. Bom mas eu tenho uma dúvida em relação a isso, quero consultar um nó específico de um XML. Por exemplo:



Gerar este XML não é o problema. Mas consultar um nó especifico deste XML que eu não consegui. Por exemplo quero somente carregar o Telefone da pessoa chamada Anderson. Vi na documentação que é possível facilmente converter o XML novamente no objeto "primitivo", que no caso é seria o objeto Pessoa.



Mas não quero carregar este objeto todo para conseguir tal informação, quero somente carregar o telefone da pessoa chamada Anderson. Como posso fazer isto utilizando o XStream?
Obrigado pela ajuda desde já.
douglaspaulino
Thread.start()

Membro desde: 21/07/2010 17:03:10
Mensagens: 40
Offline

Anderson,

A API do XStream obriga voce a carregar o xml completo, para tal funcionalidade que necessita voce deve utilizar outra api, um jdom por exemplo.

valeu!

Visitem!!!...
http://computacaoanotada.wordpress.com

anderson_lp789
JavaGuru

Membro desde: 19/06/2010 19:24:50
Mensagens: 206
Offline

Entendi... e como eu posso trabalhar com o Jdom para tal busca no XML? Tem algum exemplo simples? as buscas seriam simples... só queria carregar o objeto interio de um nó e não os valores de seus atributos individualmente.
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

aqui mesmo no guj tem um tutorial, mas se você for considerar facilidade, acho que você vai voltar pro xstream mesmo...rs

a menos que sua planilha seja muuuuuuuuuuuuuuuuuito grande é claro...

espero ter ajudado...

falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
anderson_lp789
JavaGuru

Membro desde: 19/06/2010 19:24:50
Mensagens: 206
Offline

É eu li o tutorial indicado e percebi uma maior complexidade. Mas este tutorial creio que não resolveria meu problema... vou expressa-lo de uma forma melhor. Seja o seguinte XML:



Bom no exemplo que vi no tutorial seria possível por exemplo pegar os nomes do Funcionário da empresa. Mas eu queria pegar o telefone deste funcionário (Anderson). O exemplo no tutorial não foi bem claro como isto é possível, alguém poderia me ajudar a respeito?
Juino
Thread.start()

Membro desde: 23/12/2004 10:56:34
Mensagens: 25
Offline

Já conseguiu resolver o problema?
Vê se isso ajuda.

douglaspaulino
Thread.start()

Membro desde: 21/07/2010 17:03:10
Mensagens: 40
Offline

Juino, pelo que entendi é isso mesmo que ele quer, porém não tenho certeza se resolve muito, pois utilizando "Document doc = db.parse(seu arquivo.xml);" imagino que ele carregaria o arquivo inteiro em memória da mesma forma do Xtream, o que computacinalmente seria equivalente.
Dessa maneira ja aconselharia o uso do Xtream mesmo, por ser mais prático e de fácil manutenção.

Visitem!!!...
http://computacaoanotada.wordpress.com

anderson_lp789
JavaGuru

Membro desde: 19/06/2010 19:24:50
Mensagens: 206
Offline

Concordo com o douglaspaulino.
Bom qual seria a limitação de tamanho do XStream para carregar arquivos xml, a nível de performance? creio que meus arquivos não ultrapassariam 1 MB.
douglaspaulino
Thread.start()

Membro desde: 21/07/2010 17:03:10
Mensagens: 40
Offline

anderson,
nao sei responder essa pergunta nao rsrsrsrsrs.
mas imagine... esse xml irá gerar um objeto empresa e provavelmente uma lista de funcionarios, logo vc precisará ter memória suficiente para carregar essa lista.

mas quanto a performace nao sei te responder mesmo, pois utilizo o Xtream apenas para arquivos de configuração (1k) hehehe

Visitem!!!...
http://computacaoanotada.wordpress.com

anderson_lp789
JavaGuru

Membro desde: 19/06/2010 19:24:50
Mensagens: 206
Offline

Bom tenho a seguinte duvida ainda em relação ao XStream, tenho um XML relativamente com muitos nós, eu preciso montar uma estrutura igual de Objetos para carregar este XML em memória e manipula-los em objetos se eu for usar o XStream? Pois eu gostaria somente de carregar certos objetos, e por não conhecer a estrutura inteira do XML. Obrigado se alguém tiver alguma dica.
Rodrigo Carvalho Auler
Virtual Machine Man

Membro desde: 14/02/2003 15:59:17
Mensagens: 576
Localização: Rio de Janeiro
Offline

http://xstream.codehaus.org/ wrote:XStream is a simple library to serialize objects to XML and back again.

O XStream foi feito pra serializar e deserializar objetos em XML.

Não acho uma boa idéia usa-lo pra ler qualquer XML, principalmente XML que vc não conhece.

Se você quer ler XML use DOM com XPath que foi feito pra isso é bem fácil.
anderson_lp789
JavaGuru

Membro desde: 19/06/2010 19:24:50
Mensagens: 206
Offline

Entendi, eu imaginei isso mesmo depois de alguns testes, vc teria algum material que possa me recomendar pra resolver meu problema?
anderson_lp789
JavaGuru

Membro desde: 19/06/2010 19:24:50
Mensagens: 206
Offline

Consegui resolver meus problemas, com o metodo getChild.. obrigado pelas dicas, mas quem me salvou foi o livro do Deitel sobre XML recomendo a todos!
Pode fechar o tópico
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team