лучший способ хранить информацию в виде дерева в app.config - PullRequest
1 голос
/ 18 марта 2009

Как лучше всего хранить дерево, подобное приведенному ниже, в app.config и как мне десериализовать эту информацию из него?

Tree
|-node1-
|       |-name - value
|       |-name - value
|       | ......
|-node2-
|       |-name - value
|       |-name - value
|       | ......
|-node3-
|       |-name - value
|       |-name - value
|       | ......

Я могу преобразовать это дерево в xml, если это поможет.

Спасибо за любую помощь заранее.

Ответы [ 3 ]

3 голосов
/ 18 марта 2009

Использовать пользовательский раздел конфигурации. Один способ сделать это см. В Конструкторе разделов конфигурации . Вы можете сделать это вручную, но вы можете поиграть с CSD и посмотреть код, который он генерирует.

1 голос
/ 11 января 2012

Вы можете использовать документ на основе 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>

или вы можете использовать пользовательский раздел конфигурации

1 голос
/ 18 марта 2009

Вы можете расширить .config своими собственными типами. Это могут быть элементы, содержащие другие элементы и атрибуты. Эта область плохо документирована, но есть примеры.

Начните с System.Configuration.ConfigurationElement класса.

...