2009-03-18 4 views
1

Wie wäre der beste Weg, um einen Baum wie den folgenden in app.config zu speichern und wie würde ich diese Informationen daraus deserialisieren?der beste Weg, um baumähnliche Informationen in app.config zu speichern

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

Ich kann diesen Baum zu XML konvertieren, wenn das hilft.

Vielen Dank für jegliche Hilfe im Voraus.

Antwort

3

Verwenden Sie einen benutzerdefinierten Konfigurationsabschnitt. Eine Möglichkeit hierzu finden Sie unter Configuration Section Designer. Sie können es manuell tun, aber Sie möchten vielleicht mit CSD spielen und den erzeugten Code sehen.

1

Sie können .config mit Ihren eigenen Typen erweitern. Dies können Elemente sein, die andere Elemente und Attribute enthalten. Dieser Bereich scheint schlecht dokumentiert zu sein, aber es gibt Beispiele dafür.

Beginnen Sie mit der Klasse System.Configuration.ConfigurationElement.

1

Sie können ein XML-basiertes Dokument in Ihrer App mit der Erweiterung .config (wie NLog.config, ...) verwenden und einen benutzerdefinierten Datenprovider verwenden, um die XML-Daten zu lesen und sie in baumartige ds zu konvertieren.

<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> 

oder Sie können einen benutzerdefinierten Konfigurationsabschnitt

verwenden