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);
}
}
}