.net - trying to serialize and deserialize entity object in c# -


i using 2 methods below serialize/deserialize entity framework object (ver. 4.0). tried several ways accomplish this, , had no luck. serialization works fine. nice xml formatted string, when try deserialize error in xml. how possible?

thanks.

    public static string serializeobject(object obj)     {         xmlserializer ser = new xmlserializer(obj.gettype());         system.text.stringbuilder sb = new system.text.stringbuilder();         system.io.stringwriter writer = new system.io.stringwriter(sb);         ser.serialize(writer, obj);         xmldocument doc = new xmldocument();         doc.loadxml(sb.tostring());         string xml = doc.innerxml;         return xml;     }     public static object deserializeanobject(string xml, type objtype)     {         xmldocument doc = new xmldocument();         doc.loadxml(xml);         xmlnodereader reader = new xmlnodereader(doc.documentelement);         xmlserializer ser = new xmlserializer(objtype);         object obj = ser.deserialize(reader);         return obj;     } 

i use generic methods serialize , deserialize:

/// <summary> /// serializes object xml string. /// </summary> /// <typeparam name="t">datatype t.</typeparam> /// <param name="toserialize">object of type t serialized.</param> /// <returns>xml string of serialized type t object.</returns> public static string serializetoxmlstring<t>(t toserialize) {     string xmlstream = string.empty;      using (memorystream memstream = new memorystream())     {         xmlserializer xmlserializer = new xmlserializer(typeof(t));         xmltextwriter xmlwriter = new xmltextwriter(memstream, encoding.utf8);          xmlserializer.serialize(xmlwriter, toserialize);         xmlstream = utf8bytearraytostring(((memorystream)xmlwriter.basestream).toarray());     }      return xmlstream; }  /// <summary> /// deserializes xml string of type t. /// </summary> /// <typeparam name="t">datatype t.</typeparam> /// <param name="xmlstring">input xml string read.</param> /// <returns>returns rehydrated object of type t.</returns> public static t deserializexmlstring<t>(string xmlstring) {     t tempobject = default(t);      using (memorystream memorystream = new memorystream(stringtoutf8bytearray(xmlstring)))     {         xmlserializer xs = new xmlserializer(typeof(t));         xmltextwriter xmltextwriter = new xmltextwriter(memorystream, encoding.utf8);          tempobject = (t)xs.deserialize(memorystream);     }      return tempobject; }   // convert array string public static string utf8bytearraytostring(byte[] arrbytes) { return new utf8encoding().getstring(arrbytes); } // convert string array public static byte[] stringtoutf8bytearray(string xmlstring) { return new utf8encoding().getbytes(xmlstring); } 

Comments

Popular posts from this blog

c# - SharpSVN - How to get the previous revision? -

c++ - Is it possible to compile a VST on linux? -

url - Querystring manipulation of email Address in PHP -