/******************************************************************************** ** 类名称: XmlSerializer ** 描述 : 序列化操作对象 ** 作者 : 丁书杰 ** 创建时间:2018/08/10 ** 版权所有 (C) :中科视语(北京)科技有限公司 *********************************************************************************/ using System; using System.IO; using System.Xml.Serialization; namespace OS.Spin.Common.Files { public class XmlSerializer { public static void SaveToXml(string filePath, T sourceObj) { try { if (!string.IsNullOrWhiteSpace(filePath) && sourceObj != null) { var type = typeof(T); using (StreamWriter writer = new StreamWriter(filePath)) { System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(type); XmlSerializerNamespaces nameSpace = new XmlSerializerNamespaces(); xmlSerializer.Serialize(writer, sourceObj, nameSpace); } } } catch (Exception ex) { LogisTrac.WriteLog(string.Format("SaveToXml:{0}", ex.Message)); } } public static void LoadFromXml(string filePath, ref T obj) { try { object result = null; if (File.Exists(filePath)) { var type = typeof(T); using (StreamReader reader = new StreamReader(filePath)) { System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(type); result = xmlSerializer.Deserialize(reader); } } obj = (T)result; } catch (Exception ex) { LogisTrac.WriteLog(string.Format("LoadFromXml:{0}", ex.Message)); } } } }