.xml文件格式如下

[xhtml] view plaincopy

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE DataAccess[]>
  3. <DataAccess>
  4. <appSettings>
  5. <add key="StartTime" value="9" />
  6. <add key="EndTime" value="6" />
  7. </appSettings>
  8. </DataAccess>

C#初始化

[c-sharp] view plaincopy

  1. private static XmlDocument xmlIAUConfig;
  2. static ConfigManager()
  3. {
  4. xmlIAUConfig = new XmlDocument();
  5. XMLPath = Assembly.GetExecutingAssembly().CodeBase;
  6. Int32 i = XMLPath.LastIndexOf("/");
  7. XMLPath = XMLPath.Remove(i);
  8. XMLPath = XMLPath + @"/abc.xml";
  9. xmlIAUConfig.Load(XMLPath);
  10. }

获取某个节点的值

[c-sharp] view plaincopy

  1. public static String GetValue(String key)
  2. {
  3. xmlIAUConfig.Load(XMLPath);
  4. String value;
  5. String path = @"//DataAccess/appSettings/add[@key='" + key + "']";
  6. XmlNodeList xmlAdds = xmlIAUConfig.SelectNodes(path);
  7. if (xmlAdds.Count == 1)
  8. {
  9. XmlElement xmlAdd = (XmlElement)xmlAdds[0];
  10. value = xmlAdd.GetAttribute("value");
  11. }
  12. else
  13. {
  14. throw new Exception("IAUConfig配置信息设置错误:键值为" + key + "的元素不等于1");
  15. }
  16. return value;
  17. }

修改某个节点为谋值

[c-sharp] view plaincopy

  1. public static void SavaConfig(string strKey, string strValue)
  2. {
  3. XmlDocument XMLDoc = new XmlDocument();
  4. XMLDoc.Load("abc.xml");
  5. XmlNodeList list = XMLDoc.GetElementsByTagName("add");
  6. for (int i = 0; i < list.Count; i++)
  7. {
  8. if (list[i].Attributes[0].Value == strKey)
  9. {
  10. list[i].Attributes[1].Value = strValue;
  11. }
  12. }
  13. StreamWriter swriter = new StreamWriter("abc.xml");
  14. XmlTextWriter xw = new XmlTextWriter(swriter);
  15. xw.Formatting = Formatting.Indented;
  16. XMLDoc.WriteTo(xw);
  17. xw.Close();
  18. swriter.Close();
  19. }

[转载]C#读写配置文件(XML文件)的更多相关文章

  1. Mybaits整合Spring自动扫描 接口,Mybaits配置文件.xml文件和Dao实体类

    1.转自:https://blog.csdn.net/u013802160/article/details/51815077 <?xml version="1.0" enco ...

  2. [转载]C++中处理XML文件

      写Unmanaged Code在.NET时代成为一种很悲惨的事,当你需要处理XML文件时,这种感觉会变得尤其强烈.FCL中的System.XML多简单啊,连Steve Ballmer都知道怎么用. ...

  3. 转载 VC轻松解析XML文件 - CMarkup类的使用方法

    VC轻松解析XML文件 - CMarkup类的使用方法http://www.cctry.com/thread-3866-1-1.html VC解析XML文件的工具有很多,CMarkup, tinyXM ...

  4. 文件的存储读写,XML文件的存储与读写

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ...

  5. WinForm中使用XML文件存储用户配置及操作本地Config配置文件

    大家都开发winform程序时候会大量用到配置App.config作为保持用户设置的基本信息,比如记住用户名,这样的弊端就是每个人一些个性化的设置每次更新程序的时候会被覆盖. 故将配置文件分两大类: ...

  6. Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  7. 实现动态的XML文件读写操作

    实现动态的XML文件读写操作(依然带干货) 前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义 ...

  8. .NET 使用 XPath 来读写 XML 文件

    XPath 是 XML 路径语言(XML Path Language),用来确定XML文档中某部分位置的语言.无论是什么语言什么框架,几乎都可以使用 XPath 来高效查询 XML 文件. 本文将介绍 ...

  9. 实现动态的XML文件读写操作(依然带干货)

    前言 最近由于项目需求,需要读写操作XML文件,并且存储的XML文件格式会随着导入的数据不同而随时改变(当然导入的数据还是有一定约束的),这样我们要预先定义好XML文件的格式就不太现实了,如何实现不管 ...

随机推荐

  1. 虚拟机Linux系统中安装SYNOPSYS工具图解教程

                                        V TRON KO 2.8.2 启动 dv 在终端运行命令: lmli2 然后再运行命令: dv V TRON KO V TRO ...

  2. js 刷新页面自动回到顶部

    <script type="application/x-javascript"> addEventListener("load", function ...

  3. h2database源码浅析:MVTable与MVIndex

    Database包含一个Store:MVTableEngine.Store getMvStore() MVTableEngine.Store可以获取各tables:java.util.HashMap& ...

  4. 理解Spark的RDD

    RDD是个抽象类,定义了诸如map().reduce()等方法,但实际上继承RDD的派生类一般只要实现两个方法: def getPartitions: Array[Partition] def com ...

  5. IOS之KVC机制(Object-C篇)

    开发环境:xcode7 一.KVC概述 1.KVC是KeyValueCoding的简称,它是一种可以直接通过类属性的名字来作key,再绑定key的值来访问类属性的机制,而不再通过利用@property ...

  6. 对于jfinal中java.lang.Long cannot be cast to java.lang.Integer的解决方法

    @Jfinal 老大提供的解决方法 当数据库字段为 int 型(有符号int型),但是如果在 sql 中使用了某些函数,jdbc 会自动转型为 long,例如:select sum(money) fr ...

  7. (转)传统MySQL+ Memcached架构遇到的问题

    实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: ...

  8. Java获取线程的对象和名称

    /*获取线程对象以及名称(很有意义的) 原来线程都有自己默认的名称Thread-编号  该编号从0开始 Thread 父类的方法static  Thread currentThread() :获取当前 ...

  9. mybatis学习(一)一个在idea下的实例

    今天总结的是mybatis,首先说mybatis是什么? MyBatis 是一个简化和实现了 Java 数据持久化层(persistence layer)的开源框架,它抽象了大量的 JDBC 冗余代 ...

  10. Java I/O继承图

    Reader/Writer继承关系图 RandomAccess继承关系图