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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.