如何读取xml文件中的键/值

时间:2013-06-01 12:11:33

标签: c# asp.net .net xml-parsing console-application

我正在尝试构建一个控制项目,该项目读取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();

2 个答案:

答案 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);
            }