Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
asp.net
Publicité
Archives
26 juin 2009

Create a Serializer / Deserializer for LINQ To SQL Entities

using System;
using System.IO;
using System.Xml;
using System.Runtime.Serialization;

namespace JC.Common
{
    /// <summary>
    /// Provides methods to serialize objects
    /// </summary>
    public static class SerializeHelper
    {       
        public static string SerializeXml(object value)
        {
            if (value.GetType() == typeof(string))
                return value.ToString();

            StringWriter stringWriter = new StringWriter();
            using (XmlWriter writer = XmlWriter.Create(stringWriter))
            {
                DataContractSerializer serializer = new
                  DataContractSerializer(value.GetType());
                serializer.WriteObject(writer, value);
            }

            return stringWriter.ToString();
        }
        public static object DeserializeXMl(Type type, string serializedValue)
        {
            if (type == typeof(string))
                return serializedValue;

            using (StringReader stringReader = new StringReader(serializedValue))
            {
                using (XmlReader reader = XmlReader.Create(stringReader))
                {
                    DataContractSerializer serializer =
                     new DataContractSerializer((type));

                    object deserializedValue = serializer.ReadObject(reader);

                    return deserializedValue;
                }
            }
        }
    }
}

Publicité
Publicité
Commentaires
Publicité