using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using CY.Infrastructure.Logging; namespace CY.Config { /// /// 获取配置基类 /// public abstract class BaseConfig { protected static object lockHelper = new object(); protected BaseConfig() { this.Init(); } /// /// 获取配置的某个节点的值 /// /// /// /// protected string GetNodeValue(XmlDocument xml, string nodeName) { XmlNodeList elementsByTagName = xml.GetElementsByTagName(nodeName); if (elementsByTagName.Count > 0) { return elementsByTagName[0].InnerText.Trim(); } return ""; } /// /// 获取配置的某个节点的值 /// /// /// /// protected string GetNodeValue(XmlElement xml, string nodeName) { XmlNodeList elementsByTagName = xml.GetElementsByTagName(nodeName); if (elementsByTagName.Count > 0) { return elementsByTagName[0].InnerText.Trim(); } return ""; } /// /// 加载配置文件,并实例化相应的对象 /// protected abstract void Init(); /// /// 刷新 /// public void Refresh() { this.Init(); } /// /// 设置配置的某个节点的值 /// /// /// /// protected void SetNodeValue(XmlDocument xml, string nodeName, bool value) { XmlNodeList elementsByTagName = xml.GetElementsByTagName(nodeName); if (elementsByTagName.Count > 0) { elementsByTagName[0].InnerText = value.ToString(); } } /// /// 设置配置的某个节点的值 /// /// /// /// protected void SetNodeValue(XmlDocument xml, string nodeName, decimal value) { XmlNodeList elementsByTagName = xml.GetElementsByTagName(nodeName); if (elementsByTagName.Count > 0) { elementsByTagName[0].InnerText = value.ToString(); } } /// /// 设置配置的某个节点的值 /// /// /// /// protected void SetNodeValue(XmlDocument xml, string nodeName, int value) { XmlNodeList elementsByTagName = xml.GetElementsByTagName(nodeName); if (elementsByTagName.Count > 0) { elementsByTagName[0].InnerText = value.ToString(); } } /// /// 设置配置的某个节点的值 /// /// /// /// protected void SetNodeValue(XmlDocument xml, string nodeName, float value) { XmlNodeList elementsByTagName = xml.GetElementsByTagName(nodeName); if (elementsByTagName.Count > 0) { elementsByTagName[0].InnerText = value.ToString(); } } /// /// 设置配置的某个节点的值 /// /// /// /// protected void SetNodeValue(XmlDocument xml, string nodeName, string value) { XmlNodeList elementsByTagName = xml.GetElementsByTagName(nodeName); if (elementsByTagName.Count > 0) { elementsByTagName[0].InnerText = value; } } /// /// 设置配置的某个节点的值 /// /// /// /// protected void SetNodeValue(XmlElement xml, string nodeName, string value) { XmlNodeList elementsByTagName = xml.GetElementsByTagName(nodeName); if (elementsByTagName.Count > 0) { elementsByTagName[0].InnerText = value; } } /// /// 更新配置 /// /// public abstract bool Update(); /// /// 记录错误日志 /// /// protected void WirteLog(Exception ex) { LoggingFactory.GetLogger().Log(ex); } } }