如何在运行时向 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);
我知道我可以执行如下操作,以便将键添加到 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);