Deserializzare una stringa in formato XML in un oggetto

Stefano Mostarda

di , in ASP.NET 2.0, XML,

Nello script #870 si è visto come serializzare un oggetto in XML. In questo script si analizza il processo inverso, ovvero ricreare l'oggetto a partire dalla stringa XML.

Anche in questo caso, la classe per deserializzare la stringa è System.Xml.Serialization.XmlSerializer, ma il metodo da utilizzare è Deserialize.
Questo metodo prende in input un oggetto XmlReader e restituisce l'oggetto deserializzato. Sfruttando i Generics si può creare una funzione che restituisce l'oggetto già specifico per il tipo voluto e non un semplice Object.

public static T DeserializeObject<T>(string xml)
{
  XmlReader reader = XmlReader.Create(new System.IO.StringReader(xml));
  return (T)new XmlSerializer(typeof(T)).Deserialize(reader);
}

Approfondimenti

#870 - Serializzare un oggetto in formato XML
http://www.aspitalia.com/script/870/Serializzare-Oggetto-Formato-XML.aspx