Это можно прочитать, реализовав пользовательские классы конфигурации, наследуемые от класса ConfigurationElement.
Вот пример элемента "сервер":
public class ServerElement: ConfigurationElement
{
[ConfigurationProperty("name", IsRequired = true, IsKey = true)]
public string Name
{
get { return ((string)base["name"]); }
set { base["name"] = value; }
}
...
}
Элемент среды на самом деле является коллекцией и может быть реализован так:
public class EnvironmentElement: ConfigurationElementCollection
{
protected override ConfigurationElement CreateNewElement(string elementName)
{
return new ServerElement(...);
}
}