лучший способ хранить информацию в виде дерева в app.config
Вопрос
Как лучше всего хранить дерево, подобное приведенному ниже, в app.config и как мне десериализовать эту информацию из него?
Tree
|-node1-
| |-name - value
| |-name - value
| | ......
|-node2-
| |-name - value
| |-name - value
| | ......
|-node3-
| |-name - value
| |-name - value
| | ......
Я могу преобразовать это дерево в xml, если это поможет.
Спасибо за любую помощь заранее.
Решение
Используйте пользовательский раздел конфигурации. Один из способов сделать это см. В конструкторе разделов конфигурации . Вы можете сделать это вручную, но вы можете поиграть с CSD и посмотреть код, который он генерирует.
Другие советы
Вы можете расширить .config своими собственными типами. Это могут быть элементы, содержащие другие элементы и атрибуты. Эта область, похоже, плохо документирована, но есть примеры.
Начните с класса System.Configuration.ConfigurationElement
.
Вы можете использовать документ на основе xml внутри своего приложения с расширением .config (например, NLog.config, ...) и использовать пользовательский поставщик данных для чтения данных XML и преобразования их в древовидные ds.
<Nodes>
<Node Name="Node1" Value="Value1">
<Node Name="Node1.1" Value="Value1.2">
</Node>
<Node Name="Node1.2" Value="Value1.2">
</Node>
</Node>
<Node Name="Node2" Value="Value2">
</Node>
</Nodes>
или вы можете использовать пользовательский раздел конфигурации