Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. // Sample Object ----------------------------
  2.  
  3.     [Serializable]
  4.     public class Person
  5.     {
  6.         public string FirstName { get; set; }
  7.         public string LastName { get; set; }
  8.     }
  9.  
  10. // Serialization Class ------------------------
  11.  
  12.     public class Serializer
  13.     {
  14.         public static string GetString(MemoryStream psMemStream)
  15.         {
  16.             string lsReturn = string.Empty;
  17.  
  18.             psMemStream.Position = 0;
  19.             using (StreamReader loReader = new StreamReader(psMemStream))
  20.             {
  21.                 lsReturn = loReader.ReadToEnd();
  22.             }
  23.             return lsReturn;
  24.         }
  25.  
  26.         public static string SerializeMessage(Object poObject)
  27.         {
  28.             string lsResponse = "";
  29.  
  30.             try
  31.             {
  32.                 MemoryStream loStream = new MemoryStream();
  33.                 XmlSerializer loMessageSerialize = new XmlSerializer(poObject.GetType());
  34.                 loMessageSerialize.Serialize(loStream, poObject);
  35.  
  36.                 lsResponse = GetString(loStream);
  37.             }
  38.             catch (Exception ex)
  39.             {
  40.                 throw ex;
  41.             }
  42.  
  43.             return lsResponse;
  44.         }
  45.  
  46.         public static object DeserializeMessage(string psObjectXML, Object poObject)
  47.         {
  48.             string loResponse = string.Empty;
  49.             object loObject = new object();
  50.  
  51.             try
  52.             {
  53.                 XmlSerializer loMessage = new XmlSerializer(poObject.GetType());
  54.                 loObject = loMessage.Deserialize(new StringReader(psObjectXML));
  55.             }
  56.             catch (Exception ex)
  57.             {
  58.                 throw ex;
  59.             }
  60.  
  61.             return loObject;
  62.         }
  63.     }
  64.  
  65. // How to Use ----------------------------------
  66.  
  67.             Person loPerson = new Person();
  68.             loPerson.FirstName = "John";
  69.             loPerson.LastName = "Doe";
  70.  
  71.             string lsXMLString = Serializer.SerializeMessage(loPerson);
  72.  
  73.             MessageBox.Show(lsXMLString);
  74.  
  75.             Person loPerson2 = new Person();
  76.             loPerson2 = (Person)Serializer.DeserializeMessage(lsXMLString, loPerson2);