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}