/// <summary> /// Deserializes the given XML and returns the root as obj /// </summary> /// <param name="filename"></param> /// <param name="compress"></param> /// <param name="workspaceManager"></param> /// <returns></returns> public static object Deserialize(String filename, bool compress = false) { FileStream sourceFile = File.OpenRead(filename); XmlDocument doc = new XmlDocument(); GZipStream compStream = null; if (compress) { compStream = new GZipStream(sourceFile, CompressionMode.Decompress); doc.Load(compStream); } else { doc.Load(sourceFile); } try { return(XMLSerialization.Deserialize(doc)); } finally { if (compStream != null) { compStream.Close(); } } }
/// <summary> /// Serializes the given object and all of its members to the given file using /// the given encoding /// Works only on objects which are marked as "Serializable" /// If compress==true then GZip is used for compressing /// </summary> /// <param name="obj"></param> /// <param name="filename"></param> /// <param name="compress"></param> public static void Serialize(object obj, string filename, Encoding encoding, bool compress = false) { FileStream sourceFile = null; if (compress) { GZipStream compStream = null; StreamWriter writer = null; try { sourceFile = File.Create(filename); compStream = new GZipStream(sourceFile, CompressionMode.Compress); writer = new StreamWriter(compStream, encoding); XMLSerialization.Serialize(obj, writer, compress); } finally { if (writer != null) { writer.Close(); } if (compStream != null) { compStream.Dispose(); } if (sourceFile != null) { sourceFile.Close(); } } } else { StreamWriter writer = null; try { sourceFile = File.Create(filename); writer = new StreamWriter(sourceFile, encoding); XMLSerialization.Serialize(obj, writer); } finally { if (writer != null) { writer.Close(); } if (sourceFile != null) { sourceFile.Close(); } } } }
public static object Deserialize(StreamWriter writer) { XmlDocument doc = new XmlDocument(); writer.BaseStream.Position = 0; doc.Load(writer.BaseStream); try { return(XMLSerialization.Deserialize(doc)); } finally { //writer.Close(); } }
/// <summary> /// Serializes the given object and all of its members to the given file using UTF-8 encoding /// Works only on objects which are marked as "Serializable" /// If compress==true then GZip is used for compressing /// </summary> /// <param name="obj"></param> /// <param name="filename"></param> /// /// <param name="compress"></param> public static void Serialize(object obj, string filename, bool compress = false) { XMLSerialization.Serialize(obj, filename, Encoding.UTF8, compress); }