修改app.config,并保留注释的方法

复制代码
    /// <summary>
        /// 新增或修改appSettings 保留注释
        /// </summary>
        /// <param name="configPath"></param>
        /// <param name="key"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public static bool Set(string configPath, string key, string value)
        {
            try
            {
                XmlDocument xml = new XmlDocument();
                xml.Load(configPath);
                XmlNode node0 = xml.SelectSingleNode("/configuration/appSettings/add[@key='" + key + "']");
                if (node0 == null)
                {
                    var node = xml.CreateElement("add");
                    node.SetAttribute("key", key);
                    node.SetAttribute("value", value);
                    var parentNode = xml.SelectSingleNode("/configuration/appSettings");
                    parentNode.AppendChild(node);
                }
                else
                {
                    node0.Attributes["value"].Value = value;
                }
                xml.Save(configPath);
                ConfigurationManager.RefreshSection("appSettings");
                return true;
            }
            catch (Exception e)
            {
                Logger.LogError("新增或修改appSettings", e);
            }
            return false;
        }
复制代码

 

posted @   simadi  阅读(552)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2020-02-08 使用 CefSharp 在 C# App 中嵌入 Chrome 浏览器
2020-02-08 C#客户端嵌入Chrome浏览器的实现
2020-02-08 Task.Run c#启动线程
2020-02-08 C#利用webBrowser怎么去掉网页中不想显示的部分
2017-02-08 Dapper-Extensions
2017-02-08 c# HttpClient获取网页源码
点击右上角即可分享
微信分享提示