segunda-feira, 19 de outubro de 2009

Deserialização com XML em .NET



Deserialização é o processo de transformar um xml em um objeto em memória. As classes para serialização/deserialização estão no namespace System.Xml.Serialization.

Exeplo de uma classe para deserialização:



[Serializable] //colocar este atributo para poder serializar a classe
[XmlRoot("user")] // indica o nome do nodo raiz
public class User
{
private int id;
private string name;

[XmlElement("id")]
public int Id
{
get { return id; }
set { id = value; }
}
[XmlElement("name")]
public string Name
{
get { return name; }
set { name = value; }
}
}



Exemplo para deserializar a classe User:


string mXml = "<users><user><id>1</id><name>Ramiro</name></user></users>";
XmlDocument doc = new XmlDocument();
doc.InnerXml = mXml;
XmlNode node = doc.SelectSingleNode("/users/user");
XmlSerializer ser = new XmlSerializer(typeof(User));
XmlReader reader = new XmlTextReader(node.OuterXml, XmlNodeType.Element, null);
User u = (User)ser.Deserialize(reader);

0 comentários:

Postar um comentário