zoukankan      html  css  js  c++  java
  • c# 操作临时数据---XML操作

     class Config
        {
            static string path;
            /// <summary>
            /// 配置文件的路径
            /// </summary>
            public static string Path
            {
                get { return path; }
                set { path = value; }
            }
            private XmlDocument xml;
            private static Config instance;
    
            /// <summary>
            /// 单件实例
            /// </summary>
            public static Config Instance
            {
                get
                {
                    if (instance == null)
                        instance = new Config();
                    return instance;
                }
            }
    
            private Config()
            {
                items = new Hashtable();
                xml = new XmlDocument();
                if (!System.IO.File.Exists(path))
                {
                    xml.AppendChild(xml.CreateXmlDeclaration("1.0", "utf-8", null));
                    xml.AppendChild(xml.CreateElement("Config"));
                    try
                    {
                        string dir = System.IO.Path.GetDirectoryName(path);
                        if (!System.IO.Directory.Exists(dir))
                            System.IO.Directory.CreateDirectory(dir);
                    }
                    catch { }
                }
                else
                {
                    try
                    {
                        xml.Load(path);
                    }
                    catch (XmlException)
                    {
                        //如果 Xml 读取失败, 则重新创建
                        xml.AppendChild(xml.CreateXmlDeclaration("1.0", "utf-8", null));
                        xml.AppendChild(xml.CreateElement("Config"));
                    }
                }
            }
    
            /// <summary>
            /// 储存
            /// </summary>
            public void Save()
            {
                foreach (object key in items.Keys)
                {
                    XmlNode node = xml.DocumentElement.SelectSingleNode("Item[@Name='" + key.ToString() + "']");
                    if (node == null)
                    {
                        node = xml.CreateElement("Item");
                        XmlAttribute att = xml.CreateAttribute("Name");
                        att.Value = key.ToString();
                        node.Attributes.Append(att);
                        xml.DocumentElement.AppendChild(node);
                    }
                    node.InnerText = items[key].ToString();
                }
    
                xml.Save(path);
                items.Clear();
            }
    
            /// <summary>
            /// 读取和存储
            /// </summary>
            /// <param name="index"></param>
            /// <returns></returns>
            public string this[string key]
            {
                get
                {
                    if (items.Contains(key))
                    {
                        return items[key].ToString();
                    }
                    else
                    {
                        XmlNode node = xml.DocumentElement.SelectSingleNode("Item[@Name='" + key + "']");
                        if (node == null)
                            return null;
                        return node.InnerText;
                    }
                }
                set
                {
                    items[key] = value;
                }
            }
    
            /// <summary>
            /// 储存值的链表
            /// </summary>
            private Hashtable items;
        }

    读取xml内容:

     Config.Path = Path.Combine(Environment.CurrentDirectory, "config.xml");
     runTime = Convert.ToDateTime(Config.Instance["RunTime"]); //获取每日运行时间
     todayDone = Config.Instance["TodayDone"]; //获取今日是否完成的标识

    写入:

     #region 修改配置文件
            public static bool ChangeConfig(string AppKey, string AppValue)
            {
                Config.Instance[AppKey] = AppValue;
                Config.Instance.Save();
                return true;
            }
            #endregion
    ChangeConfig("TodayDone", "0");
  • 相关阅读:
    202011.19
    202011.18
    202011.17
    202011.16
    202011.14
    jdk的下载和配置
    layui中form表单
    JS中utocomplete
    转:JqueryUI学习笔记-自动完成autocomplete
    JSON.parse()与JSON.stringify()的区别
  • 原文地址:https://www.cnblogs.com/25miao/p/7977505.html
Copyright © 2011-2022 走看看