xml配置文件推荐方式
生活随笔
收集整理的這篇文章主要介紹了
xml配置文件推荐方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.XML幫助類
/// <summary>/// Xml幫助類/// </summary>public class XmlHelper{/// <summary>/// 保存xml/// </summary>/// <typeparam name="T"></typeparam>/// <param name="path"></param>/// <param name="t"></param>public static void SaveXml<T>(string path, T t){StreamWriter writer = new StreamWriter(path);new XmlSerializer(typeof(T)).Serialize(writer, t);writer.Close();}/// <summary>/// 將文件轉換成實體/// </summary>/// <typeparam name="T"></typeparam>/// <param name="file"></param>/// <returns></returns>public static T LoadXml<T>(string file){StreamReader reader = new StreamReader(file);object obj = new XmlSerializer(typeof(T)).Deserialize(reader);reader.Close();return (T)obj;}/// <summary>/// 將XML轉換成實體/// </summary>/// <typeparam name="T"></typeparam>/// <param name="xml"></param>/// <returns></returns>public static T FromXml<T>(string xml){StringReader reader = new StringReader(xml);object obj = new XmlSerializer(typeof(T)).Deserialize(reader);reader.Close();return (T)obj;}/// <summary>/// 將實體對象轉換為xml字符串/// </summary>/// <typeparam name="T"></typeparam>/// <param name="t"></param>/// <returns></returns>public static string ToXml<T>(T t){StringBuilder builder = new StringBuilder();StringWriter writer = new StringWriter(builder);new XmlSerializer(typeof(T)).Serialize(writer, t);writer.Close();return builder.ToString();}/// <summary>/// 將xml轉換為實體對象/// </summary>/// <typeparam name="T"></typeparam>/// <param name="xmlPath">xml路徑</param>/// <returns></returns>public static T LoadXmlFile<T>(string xmlPath) where T : class{if (!File.Exists(xmlPath)){return null;}XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));StreamReader streamReader = null;try{streamReader = new StreamReader(xmlPath);return (T)(xmlSerializer.Deserialize(streamReader));}catch{throw;}finally{if (null != streamReader){streamReader.Close();}}}}2.配置范例
[XmlRoot("globalConfig")]public class GlobalConfiguration{[XmlElement("UnExportIndexCode")]public string UnExportIndexCode{get;set;}[XmlElement("FuturesRebarIndexCode")]public string FuturesRebarIndexCode{get;set;} }3.配置范例
?
4.全局調用類
public class RuntimeConfiguration{private static readonly object SingleLock = new object();private static GlobalConfiguration instance_global;public static GlobalConfiguration Global{get{if (instance_global == null){lock (SingleLock){if (instance_global == null){instance_global = MySteel.Common.Helper.XmlHelper.LoadXml<GlobalConfiguration>(AppDomain.CurrentDomain.BaseDirectory + AppSettingsHelper.GetStringValue("GlobalConfig"));}}}return instance_global;}}}?
轉載于:https://www.cnblogs.com/jack-zeng/articles/6418202.html
總結
以上是生活随笔為你收集整理的xml配置文件推荐方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: numpy 辨异(三)—— hstack
- 下一篇: android BluetoothAda