ConfigurationManager-在节组中获取节

时间:2019-05-17 08:43:48

标签: c# .net app-config

我正在尝试做一个非常简单的事情:在App.config文件中阅读属于节组的节的内容。

这应该很容易-是吗?

原来,我已经尝试了一个小时,进行了大量的谷歌搜索和调试,但我做不到。当我使用ConfigurationManager.GetSection时,它返回null-仅在所需节不属于节组的情况下才有效。

到目前为止,我发现的所有内容都是Microsoft的this页,该页建议自己解析XML。认真!!!?

我希望有人能为我提供帮助,因为现在这只让我想在5分钟之内与YAML一起破解它,以后再也不使用.NET。

1 个答案:

答案 0 :(得分:0)

您应该能够将它们作为键/值对进行访问:

NameValueCollection section = (NameValueCollection)ConfigurationManager.GetSection("SectionName");
string userName = section["userName"];

尝试投射,看看是否得到相同的结果。 如果不是这样,Linq to XML的答案总是一个好的后备。

var section = XDocument.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile).Root.Element("SectionName");

var userName= (string)section.Element("SomeElement").Elements("add")
    .Where(x => (string)x.Attribute("key") == "userName")
    .Single().Attribute("value");