예제 #1
0
 public JFXCfg()
 {
     FilePath       = null;
     dictNamesInTag = new JFXmlSortedDictionary <string, List <string> >();
     dictNameValue  = new JFXmlDictionary <string, object>();
     //innerData = new InnerData();
 }
예제 #2
0
        /// <summary>
        /// 从文件中加载参数配置
        /// </summary>
        /// <param name="filePath">文件路径</param>
        /// <param name="isOpenOrCreate">文件不存在时是否创建新文件,=True:创建新文件 ;  =False:不创建新文件,会抛出一个异常</param>
        public void Load(string filePath, bool isOpenOrCreate)
        {
            if (!File.Exists(filePath)) //文件不存在
            {
                if (!isOpenOrCreate)
                {
                    throw new FileNotFoundException(string.Format("JFXCfg.Load(filePath={0},isOpenOrCreate={1}) failed by: FilePath is Nonexists!", filePath, isOpenOrCreate));
                }
                CreateXmlFile(filePath);
                dictNamesInTag.Clear();
                dictNameValue.Clear();
                FilePath = filePath;
                return;
            }

            XmlDocument xd = new XmlDocument();

            xd.Load(filePath);
            XmlNode    xnRoot     = xd.SelectSingleNode("root");
            XmlElement xeTagNames = xnRoot.SelectSingleNode("Tag-Names") as XmlElement;

            if (null != xeTagNames && !string.IsNullOrEmpty(xeTagNames.InnerText))
            {
                dictNamesInTag = JFFunctions.FromXTString(xeTagNames.InnerText, typeof(JFXmlSortedDictionary <string, List <string> >).AssemblyQualifiedName) as JFXmlSortedDictionary <string, List <string> >;
            }
            else
            {
                dictNamesInTag.Clear();
            }


            XmlElement xeItems = xnRoot.SelectSingleNode("Items") as XmlElement;

            if (null != xeItems && !string.IsNullOrEmpty(xeItems.InnerText))
            {
                dictNameValue = JFFunctions.FromXTString(xeItems.InnerText, typeof(JFXmlDictionary <string, object>).AssemblyQualifiedName) as JFXmlDictionary <string, object>;
            }
            else
            {
                dictNameValue.Clear();
            }

            //JFXCfg cfg = this.ReadXmlFile(filePath);
            //dictNamesInTag = cfg.dictNamesInTag;
            //dictNameValue = cfg.dictNameValue;
            //cfg = null;
            FilePath = filePath;
        }