我正在尝试构建一个控制项目,该项目读取ASP.NET项目的web.config文件。我需要从配置中读取一个值。我正在从web.config文件中读取我想要的内容。
<appSettings>
<add key="LogoFrmNumber" value="001"/>
<add key="LogoFrmPeriod" value="01"/>
</appSettings>
我想阅读LogoFrmNumber的值,就像我读常规的xml文件一样。我怎样才能读到这个价值。
这是我的代码来阅读web.config但是我被卡住了。
XDocument doc = XDocument.Load( "c://web.config" );
var values = doc.Descendants( "AppSettings" );
foreach ( var value in values )
{
Console.WriteLine( value.Value );
}
Console.ReadLine();
答案 0 :(得分:4)
以下代码段看起来最优雅,最简单的方式来满足您的需求。试试
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = @"c:\web.config";
Configuration configuration=ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);
KeyValueConfigurationCollection settings = configuration.AppSettings.Settings;
foreach (KeyValueConfigurationElement item in settings)
{
Console.WriteLine(string.Format("Key : {0} Value : {1}", item.Key, item.Value ));
}
如果有用,请标记答案
答案 1 :(得分:2)
字典是保存数据的最佳选择,包括读取属性的方法
XDocument doc = XDocument.Load( "c://web.config" );
var elements = doc.Descendants( "AppSettings" );
Dictionary<string, string> keyValues = new Dictionary<string, string>();
for (int i = 0; i < elements.Count; i++)
{
string key = elements[i].Attributes["key"].Value.ToString();
string value = elements[i].Attributes["value"].Value.ToString();
keyValues.Add(key,value);
}