Thursday, October 9, 2008

Serialization methods


using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap;
using System.Xml.Serialization;


class Program
{
static void Main(string[] args)
{
FileStream fs = new FileStream("BinarySerializedObject.data", FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
ShoppingCartItem sci = new ShoppingCartItem (123, 322.5m, 1254);
bf.Serialize(fs, sci);

fs.Flush();
fs.Close();
FileStream fs2 = new FileStream("SoapSerializedObject.xml", FileMode.Create);
SoapFormatter sf = new SoapFormatter();

sf.Serialize(fs2, sci);

fs2.Flush();
fs2.Close();
sci = null;
FileStream fs3 = new FileStream("BinarySerializedObject.data", FileMode.Open);
sci = (ShoppingCartItem)bf.Deserialize(fs3);
System.Console.WriteLine(sci.ToString());
fs3.Close();
FileStream fs4 = new FileStream("SoapSerializedObject.xml", FileMode.Open);
sci = (ShoppingCartItem)sf.Deserialize(fs4);
System.Console.WriteLine(sci.ToString());
fs4.Close();
FileStream fs5 = new FileStream("XMLSerializedObject.xml", FileMode.Create);
XmlSerializer xf = new XmlSerializer(typeof(ShoppingCartItem));
xf.Serialize(fs5, sci);

fs5.Flush();
fs5.Close();
sci = null;
FileStream fs6 = new FileStream("XMLSerializedObject.xml", FileMode.Open);
sci = (ShoppingCartItem) xf.Deserialize(fs6);

System.Console.WriteLine(sci.ToString());
fs6.Close();
}
}

No comments: