Asp.net Configuration.Save 会删除.config的注释

最近项目有要求将一些数据写在web.config里面,并且内容会更改。

百度了一些资料找到以下方法:

System.Configuration.Configuration cfa = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");
cfa.AppSettings.Settings["appkey"].Value = "asdadasda";
cfa.Save();

使用后键值的确会更改,但似乎也会导致appSettings块重写,而注释,空格等会被删掉。

可项目的web.config文件参数很多,如果消去了注释的话会被别人打死的,然后就又开始找资料。

找了一段时间后找到了两篇可参考文章,分别是

config file comments are removed while changing appsettings key

小高高的《读写app.config AppSettings,保留注释与不保留注释》

方法都是读取xml,然后保存.。

因为这样读取是会获取注释的,所以保存也会将原来的内容保存下来。

小高高的方式是使用XmlDocument加载文件,再用XmlNodeList保存XmlDocument .GetElementsByTagName("appSettings")获取到的xml内容

再使用XmlNode取目标组,之后使用循环XmlNode.Attributes["key/val"]获取值

判断是否目标对象后更改val并使用XmlDocument.Save保存文件。

文章若有不对的地方希望大神们能指出,小弟将尽快学习与修正,并希望该文章能对各位有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值