ConfigurationManager - получить раздел внутри группы разделов - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь сделать что-то очень простое: прочитать содержимое раздела, который является частью группы разделов, в моем файле App.config.

Это должно быть легко - верно?

Оказывается, я пытался сделать это в течение часа, кучу поисков и отладки, и я просто не могу этого сделать. Когда я использую ConfigurationManager.GetSection, он возвращает null - это работает только тогда, когда нужный раздел не является частью группы разделов.

Все, что я нашел до сих пор, это эта страница Microsoft, которая предлагает самому проанализировать XML. Серьезно!?!?

Я надеюсь, что кто-то может мне помочь, потому что сейчас я просто хочу взломать его вместе с YAML за 5 минут и никогда не использовать .NET в будущем.

1 Ответ

0 голосов
/ 17 мая 2019

Вы должны иметь доступ к ним в виде пар ключ / значение:

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");
...