using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using System.IO; namespace CommService { /* *类名称:ConfigReader *创建人:韩荣伟 *创建时间:2010-10-30 *功能描述:配置读取类,读取xml配置参数 */ class ConfigReader { public string sListenIP; public int nListenPort; public int nTerminalTimeOut; public string sRemotingIP; public int nRemotingPort; public int nOffLineHours; public string sConnectString; public string sLogLevel; public bool bConnectTiming; public int nIntervalHoursForTiming; /* *方法名称:Load *创建人:韩荣伟 *创建时间:2010-10-30 *参数描述:string sConfigFile xml配置文件,含路径 *返回描述:bool true,加载成功,false 失败 *功能描述:参数读取 */ public bool Load(string sConfigFile) { if (File.Exists(sConfigFile) == false) { return false; } XmlElement theConfig = null, theElem = null, root = null; XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(sConfigFile); root = xmldoc.DocumentElement; theConfig = (XmlElement)root.SelectSingleNode("/root/config"); //mycontrols.UserControl1 userControl; if (theConfig != null) { theElem = (XmlElement)theConfig.FirstChild; while (theElem != null) { if (theElem.Name == "ListenIP") { sListenIP = theElem.InnerXml; } else if (theElem.Name == "ListenPort") { nListenPort = Convert.ToInt32(theElem.InnerXml); } else if (theElem.Name == "RemotingIP") { sRemotingIP = theElem.InnerXml; } else if (theElem.Name == "RemotingPort") { nRemotingPort = Convert.ToInt32(theElem.InnerXml); }//OffLineHours else if (theElem.Name == "OffLineHours") { nOffLineHours = Convert.ToInt32(theElem.InnerXml); } else if (theElem.Name == "TerminalTimeOut") { nTerminalTimeOut = Convert.ToInt32(theElem.InnerXml); } else if (theElem.Name == "ConnectString") { sConnectString = theElem.InnerXml; } else if (theElem.Name == "ConnectTiming") { bConnectTiming = Convert.ToBoolean(theElem.InnerXml); } else if (theElem.Name == "IntervalHoursForTiming") { //0,1-100 nIntervalHoursForTiming = Convert.ToInt32(theElem.InnerXml); if (nIntervalHoursForTiming < 0 ) { nIntervalHoursForTiming = 1; } else if (nIntervalHoursForTiming > 100) { nIntervalHoursForTiming = 100; } } else if (theElem.Name == "LogLevel") { sLogLevel = theElem.InnerXml; } //else if (theElem.Name == "Width") //{ // userControl.Width = Convert.ToInt32(theElem.InnerXml); //} theElem = (XmlElement)theElem.NextSibling; } } return false; } } }