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