配置文件操作类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace ConsoleApplication1
{
    /// <summary>
    /// 配置文件工具类
    /// </summary>
    public static class ConfigUtil
    {
        /// <summary>
        /// 修改Config配置文件的值
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="key"></param>
        /// <param name="newValue"></param>
        public static void SetAppSettingsExe(string filePath, string key, string newValue)
        {
            try
            {
                var doc = new XmlDocument();
                doc.Load(filePath);

                doc.SelectSingleNode("/configuration/appSettings/add[@key='" + key + "']").Attributes["value"].Value = newValue;
                doc.Save(filePath);
                doc.Load(filePath);
                doc = null;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        /// <summary>
        /// 获取Config配置文件的值
        /// </summary>
        /// <param name="filePath"></param>
        /// <param name="key"></param>
        public static string GetAppSettingsExe(string filePath, string key)
        {
            try
            {
                var doc = new XmlDocument();
                doc.Load(filePath);
                return doc.SelectSingleNode("/configuration/appSettings/add[@key='" + key + "']").Attributes["value"].Value;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        /// <summary>
        /// 修改vshost.exe.Config配置文件的值
        /// </summary>
        /// <param name="key"></param>
        /// <param name="value"></param>
        public static void SetAppSettingsVshostExe(string key, string value)
        {
            try
            {
                //vshost.exe.Config
                var doc = new XmlDocument();
                doc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

                doc.SelectSingleNode("/configuration/appSettings/add[@key='" + key + "']").Attributes["value"].Value = value;

                doc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        /// <summary>
        /// 获取vshost.exe.Config配置文件的值
        /// </summary>
        /// <param name="key"></param>
        /// <returns></returns>
        public static string GetAppSettingsVshostExe(string key)
        {
            try
            {
                var doc = new XmlDocument();
                doc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
                return doc.SelectSingleNode("/configuration/appSettings/add[@key='" + key + "']").Attributes["value"].Value;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}

调用:

       ConfigUtil.SetAppSettingsVshostExe("aa123", "你们");
            var v = ConfigUtil.GetAppSettingsExe(@"E:\项目\ConsoleApplication1\app.config", "aa");
            var v2 = ConfigUtil.GetAppSettingsVshostExe("aa");
            ConfigUtil.SetAppSettingsExe(@"E:\项目\ConsoleApplication1\app.config", "aa", "马");
原文地址:https://www.cnblogs.com/gossip/p/2514730.html