Home
Manage Your Code
Snippet: XmlSerializer (de)serialize (C#)
Title: XmlSerializer (de)serialize Language: C#
Description: using XmlSerializer to serialize / deserialize objects Views: 189
Author: Filip K Date Added: 6/16/2008
Copy Code  
1class Program
2{
3	static void Main(string[] args)
4	{
5		TestData data = new TestData();
6		data.ItemId = 1;
7		data.ItemDesc = "MyDesc";
8
9		// serialize

10		String XmlizedString = null;
11		MemoryStream memoryStream1 = new MemoryStream();
12		XmlSerializer xs1 = new XmlSerializer(typeof(TestData));
13		XmlTextWriter xmlTextWriter1 = new XmlTextWriter(memoryStream1, Encoding.UTF8);
14		xs1.Serialize(xmlTextWriter1, data);
15		memoryStream1 = (MemoryStream)xmlTextWriter1.BaseStream;
16		XmlizedString = UTF8ByteArrayToString(memoryStream1.ToArray());
17		Console.WriteLine(XmlizedString);
18
19		// deserialize

20		XmlSerializer xs2 = new XmlSerializer(typeof(TestData));
21		MemoryStream memoryStream2 = new MemoryStream(StringToUTF8ByteArray(XmlizedString));
22		XmlTextWriter xmlTextWriter2 = new XmlTextWriter(memoryStream2, Encoding.UTF8);
23		TestData data2 = (TestData)xs2.Deserialize(memoryStream2);
24		Console.WriteLine(data2.ItemId);
25		Console.WriteLine(data2.ItemDesc);
26
27		Console.ReadLine();
28	}
29
30	private static String UTF8ByteArrayToString(Byte[] characters)
31	{
32
33		UTF8Encoding encoding = new UTF8Encoding();
34		String constructedString = encoding.GetString(characters);
35		return (constructedString);
36	}
37
38	private static Byte[] StringToUTF8ByteArray(String pXmlString)
39	{
40		UTF8Encoding encoding = new UTF8Encoding();
41		Byte[] byteArray = encoding.GetBytes(pXmlString);
42		return byteArray;
43	} 
44}
Notes
http://www.eggheadcafe.com/articles/system.xml.xmlserialization.asp