diff --git a/MediaBrowser.Common/Serialization/XmlSerializer.cs b/MediaBrowser.Common/Serialization/XmlSerializer.cs index c85a1f2658..90361e2b9c 100644 --- a/MediaBrowser.Common/Serialization/XmlSerializer.cs +++ b/MediaBrowser.Common/Serialization/XmlSerializer.cs @@ -10,14 +10,24 @@ namespace MediaBrowser.Common.Serialization { public static void SerializeToStream(T obj, Stream stream) { - GetSerializer(typeof(T)).Serialize(stream, obj); + ServiceStack.Text.XmlSerializer.SerializeToStream(obj, stream); + } + + public static T DeserializeFromStream(Stream stream) + { + return ServiceStack.Text.XmlSerializer.DeserializeFromStream(stream); + } + + public static object DeserializeFromStream(Type type, Stream stream) + { + return ServiceStack.Text.XmlSerializer.DeserializeFromStream(type, stream); } public static void SerializeToFile(T obj, string file) { using (FileStream stream = new FileStream(file, FileMode.Create)) { - GetSerializer(typeof(T)).Serialize(stream, obj); + SerializeToStream(obj, stream); } } @@ -25,7 +35,7 @@ namespace MediaBrowser.Common.Serialization { using (Stream stream = File.OpenRead(file)) { - return (T)GetSerializer(typeof(T)).Deserialize(stream); + return DeserializeFromStream(stream); } } @@ -33,18 +43,8 @@ namespace MediaBrowser.Common.Serialization { using (Stream stream = File.OpenRead(file)) { - return GetSerializer(type).Deserialize(stream); + return DeserializeFromStream(type, stream); } } - - public static T DeserializeFromStream(Stream stream) - { - return (T)GetSerializer(typeof(T)).Deserialize(stream); - } - - private static System.Xml.Serialization.XmlSerializer GetSerializer(Type type) - { - return new System.Xml.Serialization.XmlSerializer(type); - } } }