#region using System; using System.IO; using System.Xml.Serialization; #endregion namespace CSFrameworkV5.Common { /// /// 对象序列化 /// public class ObjectSerializer { /// /// 读取XML文件,反序列化为对象实例 /// /// 指定对象类型 /// 文件名 /// 对象实例 public static object Deserialize(Type objectType, string file) { object o = null; Stream stream = null; try { if (File.Exists(file)) { var xs = new XmlSerializer(objectType); stream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); o = xs.Deserialize(stream); stream.Close(); stream = null; } return o; } catch { if (stream != null) stream.Close(); return o; } } /// /// 将对象写入XML文件 /// /// 对象实例 /// 文件名 public static void SerializeObject(object o, string file) { Stream stream = null; try { var xs = new XmlSerializer(o.GetType()); stream = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.ReadWrite); xs.Serialize(stream, o); stream.Flush(); stream.Close(); stream = null; } catch { if (stream != null) stream.Close(); } } } }