XmlSerializer.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using System;
  2. using System.IO;
  3. namespace MediaBrowser.Common.Serialization
  4. {
  5. /// <summary>
  6. /// Provides a wrapper around third party xml serialization.
  7. /// </summary>
  8. public class XmlSerializer
  9. {
  10. public static void SerializeToStream<T>(T obj, Stream stream)
  11. {
  12. ServiceStack.Text.XmlSerializer.SerializeToStream(obj, stream);
  13. }
  14. public static void SerializeToFile<T>(T obj, string file)
  15. {
  16. using (StreamWriter streamWriter = new StreamWriter(file))
  17. {
  18. ServiceStack.Text.XmlSerializer.SerializeToWriter<T>(obj, streamWriter);
  19. }
  20. }
  21. public static object DeserializeFromFile(Type type, string file)
  22. {
  23. using (Stream stream = File.OpenRead(file))
  24. {
  25. return ServiceStack.Text.XmlSerializer.DeserializeFromStream(type, stream);
  26. }
  27. }
  28. public static T DeserializeFromFile<T>(string file)
  29. {
  30. using (Stream stream = File.OpenRead(file))
  31. {
  32. return ServiceStack.Text.XmlSerializer.DeserializeFromStream<T>(stream);
  33. }
  34. }
  35. public static T DeserializeFromStream<T>(Stream stream)
  36. {
  37. return ServiceStack.Text.XmlSerializer.DeserializeFromStream<T>(stream);
  38. }
  39. public static T DeserializeFromString<T>(string data)
  40. {
  41. return ServiceStack.Text.XmlSerializer.DeserializeFromString<T>(data);
  42. }
  43. }
  44. }