Win Form 项目中app.config读取和修改 [ZT]

看到网上的读写app.config的代码,说是写的时候不能直接用System.Configuration.ConfigurationSettings.AppSettings.Set(AppKey, AppValue),而要把app.config当作XML文件来写。试了下确实如此,那这个Set()方法提供来是干嘛的?源代码的SelectSingleNode()里写的XPath有问题,就随带看了点XPath基础,修改后如下:

None.gif          // 读 Config
None.gif
         public   static   string  GetCfgValue( string  AppKey)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            
try
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
return System.Configuration.ConfigurationSettings.AppSettings.Get(AppKey);
ExpandedSubBlockEnd.gif            }

InBlock.gif            
catch (Exception err)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                
throw err;
ExpandedSubBlockEnd.gif            }

ExpandedBlockEnd.gif        }

None.gif
None.gif        
// 写,引入 System.XML
None.gif
         public   static   void  SetCfgValue( string  AppKey,  string  AppValue)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {
InBlock.gif            System.Xml.XmlDocument xDoc 
= new XmlDocument();
InBlock.gif            xDoc.Load(System.Windows.Forms.Application.ExecutablePath 
+ ".config");
InBlock.gif
InBlock.gif            XmlNode xNode;
InBlock.gif            XmlElement xElemKey;
InBlock.gif            XmlElement xElemValue;
InBlock.gif
InBlock.gif            xNode 
= xDoc.SelectSingleNode("//appSettings");
InBlock.gif
InBlock.gif            xElemKey 
= (XmlElement)xNode.SelectSingleNode("//add[@key=\"" + AppKey + "\"]");
InBlock.gif            
if (xElemKey != null) xElemKey.SetAttribute("value", AppValue);
InBlock.gif            
else
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{
InBlock.gif                xElemValue 
= xDoc.CreateElement("add");
InBlock.gif                xElemValue.SetAttribute(
"key", AppKey);
InBlock.gif                xElemValue.SetAttribute(
"value", AppValue);
InBlock.gif                xNode.AppendChild(xElemValue);
ExpandedSubBlockEnd.gif            }

InBlock.gif            xDoc.Save(System.Windows.Forms.Application.ExecutablePath 
+ ".config");
ExpandedBlockEnd.gif        }

PS:估计app.config是在程序启动时就载入的,修改后的值要重新运行程序后才能读到。

转载于:https://www.cnblogs.com/dxz/archive/2006/06/06/winform_appconfig_modify.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值