winform程序读取和改写配置文件App.config元素的值

  在开发Web项目的时候,会有一个配置文件Web.config,用来存放一些全局的变量,如连接数据库用的字符串。相应的,在开发winform程序时,也有一个配置文件,它就是App.config,这个文件的作用与Web.config大致相同,也可以用来存放程序所用的全局变量及Value值。

 

  来看一个app.config文件的例子:

 

<? xml version="1.0" encoding="utf-8"  ?>
< configuration >
  
< appSettings >
    
<!-- 图片存放路径 -->
    
< add  key ="ImgPath"  value ="D:\img\"   />
  
</ appSettings >
</ configuration >

 

       可以看出,app.config和web.config一样,嗯,它也是一个XML文件。那怎么对这个文件中的元素进行读取操作呢?很简单,来看代码:

 

string  strPath  =  System.Configuration.ConfigurationSettings.AppSettings[ " ImgPath " ].ToString();

 

       这样就可以把app.config文件中ImgPath这个元素的Value值读取出来了。那怎么改写元素的值呢?如果你认为像读那样的去写,像这样的代码:

 

System.Configuration.ConfigurationSettings.AppSettings[ " ImgPath " =   @" E:\img\ " // 这样写是没用的

 

 

       在对app.config文件的元素Value值进行修改操作时,只能把app.config文件当作一个普通的XML文件来对待,利用System.Xml.XmlDocument类把这个app.config文件读到内存中,并通过System.Xml.XmlNode类找到appSettings节点,通过System.Xml.XmlElement类找到节点下的某个元素,利用SetAttribute方法来修改这个元素的值后,最后再将app.config文件保存到原的目录中,这样,才算完成了对一个元素Value值的修改操作。下面这个方法可完成对app.config文件appSettings节点下任意一个元素进行修改,当然,你也可能修改这个方法,达到修改任意节点,任意元素的Value值。

 

ExpandedBlockStart.gif 代码
         public   static   void  SetValue( string  AppKey,  string  AppValue)
        {
            System.Xml.XmlDocument xDoc 
=   new  System.Xml.XmlDocument();
            xDoc.Load(System.Windows.Forms.Application.ExecutablePath 
+   " .config " );

            System.Xml.XmlNode xNode;
            System.Xml.XmlElement xElem1;
            System.Xml.XmlElement xElem2;
            xNode 
=  xDoc.SelectSingleNode( " //appSettings " );

            xElem1 
=  (System.Xml.XmlElement)xNode.SelectSingleNode( " //add[@key=' "   +  AppKey  +   " '] " );
            
if  (xElem1  !=   null ) xElem1.SetAttribute( " value " , AppValue);
            
else
            {
                xElem2 
=  xDoc.CreateElement( " add " );
                xElem2.SetAttribute(
" key " , AppKey);
                xElem2.SetAttribute(
" value " , AppValue);
                xNode.AppendChild(xElem2);
            }
            xDoc.Save(System.Windows.Forms.Application.ExecutablePath 
+   " .config " );
        }

 

 

        注意这个方法中if条件else下的语句,当在文件中没有找到给定的元素时,方法会创建这个元素。

转载于:https://www.cnblogs.com/bynet/archive/2010/06/10/1755721.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值