Please note: If you find any post DOES NOT contain required amount of explanation, please do comment them with a request for more information. I will update as soon as I can attend to it. Also you can contact me with a link to the post.


Wednesday, July 01, 2009

Generic Serialization Method - Microsoft C#.NET

using System.Xml.Serialization;
using System.Text;
public class SerializeManager
{
    public static XmlDocument Serialize(Type type, Object source)
    {
        MemoryStream stream = null;
        TextWriter writer = null;
        XmlDocument document = null;
        try
        {
            stream = new MemoryStream();
            writer = new StreamWriter(stream, Encoding.Unicode);
            XmlSerializer serializer = new XmlSerializer(type);
            serializer.Serialize(writer, source);
            int count = (int)stream.Length;
            byte[] array = new byte[count];
            stream.Seek(0, SeekOrigin.Begin);
            stream.Read(array, 0, count);
            UnicodeEncoding utf = new UnicodeEncoding();
            document = new XmlDocument();
            document.LoadXml(utf.GetString(array).Trim());
        }
        catch 
        {
            throw;
        }
        finally
        {
            if (stream != null) stream.Close();
            if (writer != null) writer.Close();
        }
        return document;
    }
}
 

Copyrights(C) - Charith Gunasekara 2005-2010