smartsoft.configuration.cs

来自「可以实现自定义的XML配置文件的操作」· CS 代码 · 共 440 行 · 第 1/2 页

CS
440
字号
            try
            {
                System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(用户注册Xml配置数据类));
                FileStream fs = new FileStream(this.配置文件路径, FileMode.Open);
                this.配置信息数据 = (用户注册Xml配置数据类)(serializer.Deserialize(fs));
                fs.Close();
                IsOk = true;
            }
            catch
            {
                IsOk = false;
                this.配置信息数据 = new 用户注册Xml配置数据类();
            }


            return IsOk;
        }

        public bool 保存配置信息()
        {
            bool IsOk = false;
            try
            {
                System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(用户注册Xml配置数据类));
                FileStream fs = new FileStream(this.配置文件路径, FileMode.Create);
                serializer.Serialize(fs, this.配置信息数据);
                fs.Close();

                IsOk = true;
            }
            catch
            {
                IsOk = false;
            }

            return IsOk;
        }
    }

    //---------------------
    
    public sealed class 产品注册Xml配置数据类
    {
        #region 自定义XML配置文件样例

        //<?xml version="1.0"?>
        //<产品注册Xml配置数据类 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        //<产品名称>1fff</产品名称>
        //<通迅地址>3eee</通迅地址>
        //<网站网址>true</网站网址>
        //</产品注册Xml配置数据类>

        #endregion 自定义XML配置文件样例

        private string 产品名称String = "";
        private string 通迅地址String = "";
        private string 网站网址String = "";


        [XmlElement]
        public string 产品名称
        {
            set { 产品名称String = value; }
            get { return 产品名称String; }
        }

        [XmlElement]
        public string 通迅地址
        {
            set { 通迅地址String = value; }
            get { return 通迅地址String; }
        }

        [XmlElement]
        public string 网站网址
        {
            set { 网站网址String = value; }
            get { return 网站网址String; }
        }

    }

    public sealed class 产品注册Xml配置文件操作类
    {
        public string 配置文件路径 = "";

        public 产品注册Xml配置数据类 配置信息数据 = null;

        public 产品注册Xml配置文件操作类()
        {
            this.配置文件路径 = SmartSoft.Configuration.配置信息设置.Xml配置文件目录路径 + "\\" + SmartSoft.Configuration.产品注册信息.Xml配置文件名称;
            this.配置信息数据 = new 产品注册Xml配置数据类();
            this.获取配置信息();
        }

        public bool 获取配置信息()
        {
            bool IsOk = false;
            try
            {
                System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(产品注册Xml配置数据类));
                FileStream fs = new FileStream(this.配置文件路径, FileMode.Open);
                this.配置信息数据 = (产品注册Xml配置数据类)(serializer.Deserialize(fs));
                fs.Close();
                IsOk = true;
            }
            catch
            {
                IsOk = false;
                this.配置信息数据 = new 产品注册Xml配置数据类();
            }


            return IsOk;
        }

        public bool 保存配置信息()
        {
            bool IsOk = false;
            try
            {
                System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(产品注册Xml配置数据类));
                FileStream fs = new FileStream(this.配置文件路径, FileMode.Create);
                serializer.Serialize(fs, this.配置信息数据);
                fs.Close();

                IsOk = true;
            }
            catch
            {
                IsOk = false;
            }

            return IsOk;
        }
    }
    
    //--------------------

    #region 通用Xml自定义配置文件操作类<T>
    //---------------------
    public sealed class 通用Xml自定义配置文件操作类<T>
    {
        #region 自定义XML配置文件样例

        //<?xml version="1.0"?>
        //<用户注册Xml配置数据类 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        //<用户名称>1fff</用户名称>
        //<通迅地址>3eee</通迅地址>
        //<网站网址>true</网站网址>
        //</用户注册Xml配置数据类>

        #endregion 自定义XML配置文件样例

        //SmartSoft.Common.Xml.Configuration.通用Xml自定义配置文件操作类<SmartSoft.Common.Xml.Configuration.AAAAXml配置数据类> aaaa = new SmartSoft.Common.Xml.Configuration.通用Xml自定义配置文件操作类<SmartSoft.Common.Xml.Configuration.AAAAXml配置数据类>(Application.StartupPath + "\\" + "testA.xml");
        //SmartSoft.Common.Xml.Configuration.通用Xml自定义配置文件操作类<SmartSoft.Common.Xml.Configuration.BBBBXml配置数据类> bbbb = new SmartSoft.Common.Xml.Configuration.通用Xml自定义配置文件操作类<SmartSoft.Common.Xml.Configuration.BBBBXml配置数据类>(Application.StartupPath + "\\" + "testB.xml");

        public string 配置文件路径 = "";

        public T 配置信息数据;

        public 通用Xml自定义配置文件操作类(string Xml配置文件路径String)
        {
            this.配置文件路径 = Xml配置文件路径String;
            this.获取配置信息();
        }

        public bool 获取配置信息()
        {
            bool IsOk = false;
            try
            {
                System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(T));
                FileStream fs = new FileStream(this.配置文件路径, FileMode.Open);
                this.配置信息数据 = (T)(serializer.Deserialize(fs));
                fs.Close();
                IsOk = true;
            }
            catch
            {
                IsOk = false;
            }


            return IsOk;
        }

        public bool 保存配置信息()
        {
            bool IsOk = false;
            try
            {
                System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(T));
                FileStream fs = new FileStream(this.配置文件路径, FileMode.Create);
                serializer.Serialize(fs, this.配置信息数据);
                fs.Close();

                IsOk = true;
            }
            catch
            {
                IsOk = false;
            }

            return IsOk;
        }

    }

    //-----------------------------
    #endregion 通用Xml自定义配置文件操作类<T>
}







⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?