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", "");
c# 操作临时数据---XML操作的更多相关文章
- C#常用操作类库三(XML操作类)
/// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { pr ...
- MySQL数据库(2)- 库的操作、表的操作、数据的操作、存储引擎的介绍
一.库的操作 1.系统数据库 执行如下命令,查看系统数据库: mysql> show databases; 参数解释: information_schema: 虚拟库,不占用磁盘空间,存储的是数 ...
- 传智播客JavaWeb day09-mysql入门、数据库操作、数据库表操作、数据行操作
不知不觉已到了第九天了,今天主要讲了关系数据库的基本概述.安装.数据库.表和数据行的操作 1. 基本概述 1.1 数据库就是用来存储数据的.早期是存在文件里面的操作起来效率低而且不是很安全. 1.2 ...
- 使用dom4j处理xml操作xml数据
使用dom4j处理xml操作xml数据 示例代码: public class TestDom4j { public static void main(String[] args) { String x ...
- Open XML操作Excel导入数据
项目中发现使用OleDb(using System.Data.OleDb)相关对象处理Excel导入功能,不是很稳定经常出问题,需要把这个问题解决掉.项目组提出使用OpenXML来处理Excel的导入 ...
- PHP XML操作的各种方法解析
PHP提供了一整套的读取 XML文件的方法,很容易的就可以编写基于 XML的脚本程序.本章将要介绍 PHP与 XML的操作方法,并对几个常用的 XML类库做一些简要介绍. XML是一种流行的半结构化文 ...
- PowerShell 数组以及XML操作
PowerShell基础 PowerShell数组操作 将字符串拆分成数据的操作 cls #原始字符串 $str = "abc,def,ghi,mon" #数据定义 #$StrAr ...
- T-Sql(五)xml操作
t-sql中的xml操作在我们平时做项目的过程中用的很少,因为我们处理的数据量很少,除非一些用到xml的地方,t-sql中xml操作一般用在数据量很大,性能优化的地方,当然我在平时做项目的时候也是没用 ...
- XML格式示例 与 XML操作(读取)类封装
header('Content-Type: text/xml'); <?xml version="1.0" encoding="utf-8" standa ...
随机推荐
- 我3年前开发的IM即时通讯一直没勇气推出,现在智能时代了,有什么可以结合的地方吗?
我3年前开发的IM即时通讯一直没勇气推出,现在智能时代了,有什么可以结合的地方吗? 服务端采用基于XMPP协议的Openfire(当然改造了很多,也添加了很多握手协议) 客户端有做了四个版本:一个Ja ...
- javac的访问者模式
这一篇重点来总结下javac的访问者模式,其定义的访问者接口为JCTree.Visitor,具体如下: /** A generic visitor class for trees. */ public ...
- 【Qt开发】QDate类
QDate为开发者提供日期的类,函数也很丰富 常用方法介绍 1.QDate addDays(qint64 ndays) const 当前日期添加n天,n可以为负 2.QDate addMonths(i ...
- 【LESS系列】内置函数说明
本文转自 http://www.cnblogs.com/zfc2201/p/3493335.html escape(@string); // 通过 URL-encoding 编码字符串 e(@stri ...
- PTA (Advanced Level) 1016 Phone Bills
Phone Bills A long-distance telephone company charges its customers by the following rules: Making a ...
- HDU 1465 不容易系列之一(排错公式)
大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了! 做好“一件”事情尚且不易,若想永远成功而总从不失败,那更是难上加难了,就像花钱总是比挣钱容易的道理一样. 话虽这样说,我还是要告诉 ...
- linux定时任务之crontab
1.使用crontab crontab -u //设定某个用户的cron服务 crontab -l //列出某个用户cron服务的详细内容 crontab -r //删除某个用户的cron服务 cro ...
- Java代码签名证书申请和使用指南
第1步 下载签名工具 Step 1: Download Signing Tools 如果您还没有签名工具,请到SUN公司网站免费下载:http://java.sun.com/j2se/,推荐下载JDK ...
- nohup磁盘打满问题排查与解决
使用nohup ... & 命令启动服务器后,磁盘满了,服务宕了,然后一步一步排查是哪个文件过大,最终定位到是nohup.out文件过大,占了40G, df -lh #磁盘容量命令 du -s ...
- sql将一张表的字段赋值给另一张表
插入数据 1 insert into TbYTZ(UserID) select UserID from TbUser 更新数据则在TbUser和TbYTZ两个表要有一个关系... 如TbUser.a1 ...