Reader Level:

Serializing and Deserializing XML String

By Sonu Chauhan on Jul 20, 2006
In this article we will see how we can serialize a xml sring into an object and vice versa. You can serialize your object to a byte array and can deSerialize the byte array into an object.
Download Files:

Serialization is handled by System.Runtime.Serialization namespace. To serialize an object, you need to create two things, stream to contain the serialized objects and a formatter to serialize the objects into the stream.

so here in this sample we will see how to serialize XML document into an object.

//This will returns the set of included namespaces for the serializer.
public static XmlSerializerNamespaces GetNamespaces()

XmlSerializerNamespaces ns;
ns =
new XmlSerializerNamespaces();
ns.Add("xs", "");
ns.Add("xsi", "");
return ns;


 //Returns the target namespace for the serializer.
public static string TargetNamespace




 //Creates an object from an XML string.
public static object FromXml(string Xml, System.Type ObjType)

XmlSerializer ser;
ser =
new XmlSerializer(ObjType);
StringReader stringReader;
stringReader =
new StringReader(Xml);
XmlTextReader xmlReader;
xmlReader =
new XmlTextReader(stringReader);
object obj;
obj = ser.Deserialize(xmlReader);
return obj;


 //Serializes the <i>Obj</i> to an XML string.
public static string ToXml(object Obj, System.Type ObjType)

XmlSerializer ser;
ser =
new XmlSerializer(ObjType, SerializeObject.TargetNamespace);
MemoryStream memStream;
memStream =
new MemoryStream();
XmlTextWriter xmlWriter;
xmlWriter =
new XmlTextWriter(memStream, Encoding.UTF8);
xmlWriter.Namespaces =
ser.Serialize(xmlWriter, Obj, SerializeObject.GetNamespaces());
string xml;
xml = Encoding.UTF8.GetString(memStream.GetBuffer());
xml = xml.Substring(xml.IndexOf(Convert.ToChar(60)));
xml = xml.Substring(0, (xml.LastIndexOf(Convert.ToChar(62)) + 1));
return xml;


Sonu Chauhan

Sonu holds B. Sc. (Mathmatics, Physics & Statistics) and MCA (Master's of Computer Applications) degrees. Currently he is working with Merrill Lynch. India and has extensive experience in web technologies using .NET and ... Read more