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;
	}
}

  • .NET
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Comments are closed.

Trackback URI |