a melhor maneira de árvore loja como informações em app.config
Pergunta
Qual seria a melhor maneira de armazenar uma árvore como a abaixo em app.config e como eu desserializar esta informação a partir dele?
Tree
|-node1-
| |-name - value
| |-name - value
| | ......
|-node2-
| |-name - value
| |-name - value
| | ......
|-node3-
| |-name - value
| |-name - value
| | ......
Eu posso converter essa árvore para xml se isso ajuda.
Obrigado por qualquer ajuda com antecedência.
Solução
Use uma seção de configuração personalizada. Para uma maneira de fazer isso, consulte seção de configuração Designer . Você pode fazê-lo manualmente, mas você pode gostar de brincar com CSD e ver o código que gera.
Outras dicas
Você pode estender .config com seus próprios tipos. Estes podem ser elementos contendo outros elementos e atributos. Esta área parece ser mal documentadas, mas existem exemplos lá fora.
Comece com a classe System.Configuration.ConfigurationElement
.
Você pode usar e documento baseado em XML dentro do seu aplicativo com .config extensão (como NLog.config, ...) e usar um provedor de dados personalizado para ler os dados XML e converter eles a árvore-como 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>
ou você pode usar uma seção de configuração customizado