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


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

            //读 Config
            public static string GetCfgValue(string AppKey)
            
    {
                
    try
                
    {
                    
    return System.Configuration.ConfigurationSettings.AppSettings.Get(AppKey);
                }

                
    catch (Exception err)
                
    {
                    
    throw err;
                }

            }


            
    //写,引入 System.XML
            public static void SetCfgValue(string AppKey, string AppValue)
            
    {
                System.Xml.XmlDocument xDoc 
    = new XmlDocument();
                xDoc.Load(System.Windows.Forms.Application.ExecutablePath 
    + ".config");

                XmlNode xNode;
                XmlElement xElemKey;
                XmlElement xElemValue;

                xNode 
    = xDoc.SelectSingleNode("//appSettings");

                xElemKey 
    = (XmlElement)xNode.SelectSingleNode("//add[@key=\"" + AppKey + "\"]");
                
    if (xElemKey != null) xElemKey.SetAttribute("value", AppValue);
                
    else
                
    {
                    xElemValue 
    = xDoc.CreateElement("add");
                    xElemValue.SetAttribute(
    "key", AppKey);
                    xElemValue.SetAttribute(
    "value", AppValue);
                    xNode.AppendChild(xElemValue);
                }

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

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

  • 相关阅读:
    设计模式一:简单工厂模式
    排序算法一:冒泡排序
    设计模式三:工厂方法模式
    设计模式二:单例模式
    >Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
    eclipse打开会出现初始化错误>解决办法
    easyui页面上的增删改功能
    springboot集成druid数据源
    springboot集成shiro的验证
    Java虚拟机
  • 原文地址:https://www.cnblogs.com/dxz/p/winform_appconfig_modify.html
Copyright © 2020-2023  润新知