Sérgio Fantin

Flex, JSF, REST, SOA…

XML e Java com XStream

Publicado por serjaumfantin em Julho 2, 2008

Pra quem trabalha com Web Services sabe a importância do uso do XML em seu projeto, pois o mapeamento Java para XML e vice-versa é uma rotina frequente.
XStream é uma biblioteca que oferece a serialização de Java –> XML e de XML –> Java. Além de ser muito simples de ser utilizada, é muito poderosa.

Exemplo

Vamos criar uma classe para teste. Neste exemplo criarei uma classe Carro que HAS-A Motor. Usei a agregação para que o exemplo fique um pouco mais incrementado do que o normal.

Classe Carro.java:

Classe Motor.java

Vamos criar a classe para testar nosso exemplo, mas antes vamos configurar o nosso ambiente com o XStream:

Configurando o ambiente

1) Baixe a biblioteca aqui e descompacte
2) Vamos precisar de dois .jars que estão na pasta xstream-1.3/lib:

  • xstream-1.3.jar
  • xpp3_min-1.1.4c.jar

3) Adicione os .jar no seu classpath e pronto

Neste ponto já podemos importar a classe XStream, então vamos para o teste:

Explicando o código:

  • Linha 10: Uma instância de XStream foi criada
  • Linha 12 à 14: Criei um carro e defini alguns valores
  • Linha 16 à 18: Criei um motor e defini algunas valores
  • Linha 19: Coloquei o motor no carro
  • Linha 21: Criei uma lista denominada carros
  • Linha 22: Adicionei a carro criado na lista carros
  • Linha 24: Criei uma String que guardará o resultado Java –> XML, passando a lista como argumento
  • Linha 27: Impressão da String com o resultado da conversão

Saída:

Simples, não?! Utilizei um exemplo básico para ilustrar a facilidade que a biblioteca nos oferece, e caso queiram saber mais sobre ela, visitem o site.

Até o próximo post!

Uma resposta para “XML e Java com XStream”

  1. Eduardo disse

    Muito lega seu post.
    Tenho uma dúvida. Como faço para gravar uma nova linha, somente se ela não existir. Tipo um cadastro.
    Tenho que inseir e alterar esta lista.

    Obrigado

    Eduardo

Deixe uma resposta

XHTML: Você pode usar estas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>