domingo, 30 de janeiro de 2011

Serialização de objetos

Serializar um objeto consiste em poder armazenar os dados contidos dentro deste objeto em arquivos binários, xml, txt e etc. Este recurso é bastante utilizado quando necessitamos gravar informações em disco. A seguir iremos demostrar como guardar uma lista de objetos em um arquivo xml e como recuperar estes dados.
Primeiramente iremos criar uma classe Cliente com as propriedades Nome, IDCliente, Idade, Endereco e Email. Esta classe para que seja possível a serialização, iremos adicionar [Serializable] logo acima da declaração da classe conforme imagem abaixo.


No botão serializar iremos montar uma lista do tipo Cliente e popular com 3 dados de clientes. Em seguida iremos verificar se o arquivo cliente.xml já existe e caso já exista iremos deletá-lo. Iremos utilizar a classe XMLSerializer para serializar o objeto e gerar o arquivo xml com os dados conforme imagem a seguir.


Após executar o evento de click do botão serializar,irá gerar o arquivo xml com as propriedades da classe Cliente e os dados adicionados conforme a seguir.


Utilizando novamente a classe XMLSerializer, iremos deserializar o arquivo xml, recuperando os dados e montando uma lista do tipo Cliente novamente.


Após executar o click do botão deserializar, irá recuperar os dados e a lista será adicionada em uma grid view apresentando na tela os dados que estavam no xml.



Agora, iremos adicionar [XmlIgnoreAttribute] na propriedade Endereco e isso fará com que esta propriedade seja ignorada no momento de serializar o objeto e não irá adicionar esta propriedade no xml.


Após executar novamente o click do botão serializar, veja na imagem abaixo que não foi adicionada a propriedade Endereco no xml.


Após executar novamente o click do botão deserializar, será recuperado os dados do xml e adicionados na grid view, porém o campo endereço estará vazio, pois não foi salvo no momento da serialização.



Nenhum comentário:

Postar um comentário