如何在运行时向 Web.config 添加元素

How to add elements to Web.config at runtime

我知道我可以执行如下操作,以便将键添加到 AppSettings 部分:

var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings.Add("OS", "Linux");
config.Save(ConfigurationSaveMode.Modified);

ConfigurationManager.RefreshSection("appSettings");

但我想在 <appSettings> 节点外添加另一个节点,因此它看起来如下所示:

<appSettings>
</appSettings>
<myCustomSetting firstValue="value1" secondValue="value2"/>

如何在 C# 中执行此操作?

你可以做到,

var xmlDoc = new XmlDocument();
xmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

var nodeRegion = xmlDoc.CreateElement("myCustomSetting ");
nodeRegion.SetAttribute("firstValue", "value1");
nodeRegion.SetAttribute("secondValue", "value2");

xmlDoc.SelectSingleNode("//myCustomSetting").AppendChild(nodeRegion);
xmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);

这里可以红Update custom configuration sections