• .net下读写配置文件app.config方法


        在.Net中提供了配置文件,让我们可以很方面的处理配置信息,这个配置是XML格式的。而且.Net中已经提供了一些访问这个文件的功能。

    1、读取配置信息
    下面是一个配置文件的具体内容:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <appSettings>
        <add key="ConnenctionString" value="*" />
        <add key="TmpPath" value="C:\Temp" />
      </appSettings>
    </configuration>

    .net提供了可以直接访问<appsettings>(注意大小写)元素的方法,在这元素中有很多的子元素,这些子元素名称都是“add”,有两个属性分别是“key”和“value”。一般情况下我们可以将自己的配置信息写在这个区域中,通过下面的方式进行访问:

    string ConString=System.Configuration.ConfigurationSettings.AppSettings["ConnenctionString"];

    在appsettings后面的是子元素的key属性的值,例如appsettings["connenctionstring"],我们就是访问<add key="ConnenctionString" value="*" />这个子元素,它的返回值就是“*”,即value属性的值。

    2、设置配置信息
    如果配置信息是静态的,我们可以手工配置,要注意格式。如果配置信息是动态的,就需要我们写程序来实现。在.Net中没有写配置文件的功能,我们可以使用操作XML文件的方式来操作配置文件。下面就是一个写配置文件的例子。


            private void SaveConfig(string ConnenctionString)
            {
                XmlDocument doc=new XmlDocument();
                //获得配置文件的全路径
                string strFileName=AppDomain.CurrentDomain.BaseDirectory.ToString()+"Code.exe.config";
                doc.Load(strFileName);
                //找出名称为“add”的所有元素
                XmlNodeList nodes=doc.GetElementsByTagName("add");
                for(int i=0;i<nodes.Count;i++)
                {
                    //获得将当前元素的key属性
                    XmlAttribute att=nodes[i].Attributes["key"];
                    //根据元素的第一个属性来判断当前的元素是不是目标元素
                    if (att.Value=="ConnectionString") 
                    {
                        //对目标元素中的第二个属性赋值
                        att=nodes[i].Attributes["value"];
                        att.Value=ConnenctionString;
                        break;
                    }
                }
                //保存上面的修改
                doc.Save(strFileName);
            }
  • 相关阅读:
    HDU 2188.悼念512汶川大地震遇难同胞——选拔志愿者-巴什博奕
    hdu 4217 Data Structure? 树状数组求第K小
    hdu 5137 How Many Maos Does the Guanxi Worth 最短路 spfa
    Codeforces Round #375 (Div. 2) C. Polycarp at the Radio 贪心
    Codeforces Round #375 (Div. 2) D. Lakes in Berland dfs
    hiho 1325 : 平衡树·Treap
    bzoj 2656 [Zjoi2012]数列(sequence) 递推+高精度
    Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) C. Destroying Array
    Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) D. Generating Sets 贪心+优先队列
    Codeforces Round #374 (Div. 2) A , B , C 水,水,拓扑dp
  • 原文地址:https://www.cnblogs.com/88223100/p/1161142.html
Copyright © 2020-2023  润新知