Serializzare un oggetto in formato XML

di Stefano Mostarda, in ASP.NET 2.0,

A volte può tornare utile serializzare un oggetto in XML. Ad esempio, si può inserire la stringa in un database SQL Server 2005 e sfruttare il data type XML per eseguire delle query XPath e trovare gli oggetti voluti.
Questo è utile soprattutto quando si ha a che fare con oggetti di diversi tipi.

Per serializzare un oggetto bisogna utilizzare la classe XmlSerializer contenuta nel namespace System.Xml.Serialization e più precisamente il metodo Serialize.

Questo metodo prende l'oggetto e lo riporta in uno stream che poi può essere letto per recuperare la stringa XML:

public static string SerializeObject(object objectToSerialize) {
  if (objectToSerialize == null)
    throw new ArgumentNullException("The serializable object cannot be null", "objectToSerialize");

  XmlSerializer serializer = new XmlSerializer(objectToSerialize.GetType());
  MemoryStream stream = new MemoryStream();
  serializer.Serialize(stream, objectToSerialize);
  stream.Position = 0;
  StreamReader sm = new StreamReader(stream);
  string result = sm.ReadToEnd();
  stream.Close();
  return result;
}

Se invece si desidera salvare l'oggetto su file system, si può utilizzare un'instaza di una classe di tipo FileStream invece che MemoryStream.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi