【问题标题】:How to read key/value in xml file如何读取 xml 文件中的键/值
【发布时间】:2013-05-28 04:15:40
【问题描述】:

我正在尝试构建一个读取 ASP.NET 项目的 web.config 文件的控制台项目。我需要从配置中读取一个值。我正在从 web.config 文件中放入我想要读取的内容。

<appSettings>
  <add key="LogoFrmNumber" value="001"/>
  <add key="LogoFrmPeriod" value="01"/>
</appSettings>

我想像读取常规 xml 文件一样读取 LogoFrmNumber 的值。如何读取该值。

这是我读取 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();

【问题讨论】:

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


【解决方案1】:

字典是你保存数据的最佳选择,包括读取属性的方法

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

【讨论】:

  • 元素声明是什么?如果您的意思是字典 - 是的,它必须是 我的错误编辑
【解决方案2】:

下面的 sn-p 看起来是满足您需求的最优雅和最简单的方法。试试看

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

如果有用请标记答案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    相关资源
    最近更新 更多