XmlSerializer (de)serialize
CodeKeep C# Feed Giugno 17th, 2008
Description: using XmlSerializer to serialize / deserialize objects
Link: http://www.codekeep.net/snippets/a253f09f-6276-4ef1-9083-e3557f0a5852.aspx
class Program
{
static void Main(string[] args)
{
TestData data = new TestData();
data.ItemId = 1;
data.ItemDesc = "MyDesc";
// serialize
String XmlizedString = null;
MemoryStream memoryStream1 = new MemoryStream();
XmlSerializer xs1 = new XmlSerializer(typeof(TestData));
XmlTextWriter xmlTextWriter1 = new XmlTextWriter(memoryStream1, Encoding.UTF8);
xs1.Serialize(xmlTextWriter1, data);
memoryStream1 = (MemoryStream)xmlTextWriter1.BaseStream;
XmlizedString = UTF8ByteArrayToString(memoryStream1.ToArray());
Console.WriteLine(XmlizedString);
// deserialize
XmlSerializer xs2 = new XmlSerializer(typeof(TestData));
MemoryStream memoryStream2 = new MemoryStream(StringToUTF8ByteArray(XmlizedString));
XmlTextWriter xmlTextWriter2 = new XmlTextWriter(memoryStream2, Encoding.UTF8);
TestData data2 = (TestData)xs2.Deserialize(memoryStream2);
Console.WriteLine(data2.ItemId);
Console.WriteLine(data2.ItemDesc);
Console.ReadLine();
}
private static String UTF8ByteArrayToString(Byte[] characters)
{
UTF8Encoding encoding = new UTF8Encoding();
String constructedString = encoding.GetString(characters);
return (constructedString);
}
private static Byte[] StringToUTF8ByteArray(String pXmlString)
{
UTF8Encoding encoding = new UTF8Encoding();
Byte[] byteArray = encoding.GetBytes(pXmlString);
return byteArray;
}
}






