一切都会有的

劈荆斩棘 勇往直前 欲望将一步步满足

导航

读取配置信息

Posted on 2005-10-14 12:43  秋水翁  阅读(314)  评论(1)    收藏  举报
 
在.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()+"WindowsApplication1.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;
     //保存上面的修改
     doc.Save(strFileName);
     break;
    }
   }