XML Serialization in C#

XML Serialization

XML Serialization serialize only public fields, properties of an object and parameters and return value of a method. That is why it is called Shallow Serialization.  XML serialization results in strongly typed classes with public properties and fields that are converted to XML. System.Xml.Serialization has all the classes and method need for XML serialization.


The bellow example serialize a string array using XML Serialization and store it to a XML file. And again deserialize  from that xml file to a string array.

using System;
using System.IO;
using System.Xml.Serialization;
namespace Example_Serialization
class Program
static void Main(string[] args)

Console.WriteLine(“Serializing a string array and store it in country.xml”);
string[] country = new string[] { “India”, “USA”, “UK”, “Australia” };
XmlSerializer serialize = new XmlSerializer(typeof(string[]));
StreamWriter writer = new StreamWriter(“country.xml”);
serialize.Serialize(writer, country);

Console.WriteLine(“Deserializing a string array from country.xml”);
country = null;
using (Stream streamload = new FileStream(“Country.xml”, FileMode.Open))
country = (string[])serialize.Deserialize(streamload);
foreach (var str in country)
Console.WriteLine(“{0}”, str);

About the author


Hriday Ranjan Dutta

My name is Hriday Ranjan Dutta, I am a technology evangelist. Working on various Microsoft and Open Source technologies.

I am also an author and speaker… but more of that shortly.

View all posts

Leave a Reply

Your email address will not be published. Required fields are marked *