using System; using System.IO; using System.Xml.Serialization; namespace WWPipeLine.Commons.SerializeHelper { /// /// Xml 序列化和反序列化类 /// public class XmlHelper { /// /// 序列化对象为XML文件 /// /// 序列化对象 /// 序列化文件路径 /// 序列化对象 /// public static bool SerializedToXml(string fileName, T t) { try { Type paramType = t.GetType(); XmlSerializer xmls = new XmlSerializer(paramType); using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write)) { xmls.Serialize(fs, t); } return true; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("Serialize xml Error:" + ex.ToString()); return false; } } /// /// 反序列化对象 /// /// 反序列化的对象 /// 反序列化文件的路径 /// 反序列化出来的路径 /// public static bool DeSerializedFromXml(string fileName, ref T t) { try { Type paramType = t.GetType(); XmlSerializer xmls = new XmlSerializer(paramType); using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read)) { t = (T)xmls.Deserialize(fs); } return true; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("DeSerialize xml Error:" + ex.ToString()); return false; } } } }