Geen omschrijving

SerializationHelper.cs 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System;
  2. using System.IO;
  3. using System.Xml.Serialization;
  4. using System.Web.Script.Serialization;
  5. namespace XYFDRQ.Common
  6. {
  7. public class SerializationHelper
  8. {
  9. public SerializationHelper() { }
  10. /// <summary>
  11. /// 反序列化
  12. /// </summary>
  13. /// <param name="type">对象类型</param>
  14. /// <param name="filename">文件路径</param>
  15. /// <returns></returns>
  16. public static object Load(Type type, string filename)
  17. {
  18. FileStream fs = null;
  19. try
  20. {
  21. // open the stream...
  22. fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
  23. XmlSerializer serializer = new XmlSerializer(type);
  24. return serializer.Deserialize(fs);
  25. }
  26. catch (Exception ex)
  27. {
  28. throw ex;
  29. }
  30. finally
  31. {
  32. if (fs != null)
  33. fs.Close();
  34. }
  35. }
  36. /// <summary>
  37. /// 序列化
  38. /// </summary>
  39. /// <param name="obj">对象</param>
  40. /// <param name="filename">文件路径</param>
  41. public static void Save(object obj, string filename)
  42. {
  43. FileStream fs = null;
  44. // serialize it...
  45. try
  46. {
  47. fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
  48. XmlSerializer serializer = new XmlSerializer(obj.GetType());
  49. serializer.Serialize(fs, obj);
  50. }
  51. catch (Exception ex)
  52. {
  53. throw ex;
  54. }
  55. finally
  56. {
  57. if (fs != null)
  58. fs.Close();
  59. }
  60. }
  61. /// <summary>
  62. /// 序列化对象
  63. /// </summary>
  64. /// <param name="obj"></param>
  65. /// <returns></returns>
  66. public static string ObjToJson(object obj)
  67. {
  68. JavaScriptSerializer jss = new JavaScriptSerializer();
  69. return jss.Serialize(obj);
  70. }
  71. }
  72. }