Dúvidas sobre Computação ?
Vamos tentar tirar dúvidas e trocar conhecimento com todos, sobre qualquer assunto relacionado a computação

sexta-feira, 3 de julho de 2009

Serializando e Deserializando objetos java usando XStream

1.Você deve adicionar o pacote xstream ao ClassPath de sua aplicação.




2.Crie o modelo estrutural do seu XML, não é necessário escrevê-lo, basta ter em mente o seu modelo, no meu caso montarei minhas classes baseado no modelo descrito abaixo.




3.Para isso, iniciarei com a tag Pessoa. Para montá-la criei a classe Pessoa.java, contendo os seguintes campos nome, sobreNome, idade, endereco e fone, onde endereco é do tipo Endereco e fone é uma lista de Telefone. Note que, fone é implícito.


4.Agora devemos criar a classe Endereco, que segundo o meu modelo acima, têm dois campos: cidade e estado.


5. O próximo passo é criar a classe Telefone. No meu caso decidi criar o campo DDD como sendo um atributo da tag Telefone, o outro campo é numero. Note que, o campo DDD do xml foi chamado de codigo no modelo Telefone.java. Para que no xml o atributo seja chamado de DDD eu adicionei a anotação @XstreamAlias(“DDD”).



6.Para serializar o objeto Pessoa, devemos popular as classe, depois passá-la para o método toXML da classe Xstream. Caso você queira eliminar alguma tag, basta adicionar o valor null no campo correspondente, se quiser que a tag apareça, mas sem nenhum valor, adicionar valor “”(abre e fecha aspas).

7.A linha 84 faz com que a instancia do xstream reconheça automaticamente as anotações.

8.A linha 87 elimina qualquer possibilidade de referencia no código xml.

9.A linha 59 Serializa o objeto Pessoa.


10.Para Deserializar o xml, foi necessário algumas alterações na instancia do xstream.

11.A linha 48 “diz para instancia do xstream” que no código xml, existe um atributo chamado DDD que é referente ao campo codigo da classe Telefone.

12.A linha 49 “diz para instancia do xstream” que no código xml, existe um uma tag implícita que está relacionada ao campo fone da classe Pessoa.

13.A linha 51 é passado a String referente ao código xml ao método fromXML.



14.Aqui está o resultado final, no lado direito o arquivo xml gerado, do lado esquerdo o método que imprime a classe Pessoa e em baixo o resultado escrito no terminal.


Nenhum comentário:

Postar um comentário