Matrici di supporto degli elementi XML di ConfigurationManager?
-
22-12-2019 - |
Domanda
Sto usando Configuration Manager per memorizzare le impostazioni in un'applicazione C #.Ho alcune singole impostazioni e ho una serie variabile di impostazioni.
La configurazione XML sembra qualcosa del genere:
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
</startup>
<appSettings>
<add key="Option" value="Tabbed" />
<add key="Version" value="0.0.0.0" />
<Tee1>
<add key="Name" value="Test1" />
<add key="IPAddress" value="127.0.0.1" />
<add key="Port" value="58323" />
<add key="AutoConnect" value="True" />
<add key="Link" value="False" />
<add key="Link" value="False" />
</Tee1>
<Tee2>
<add key="Name" value="Test2" />
<add key="IPAddress" value="127.0.0.1" />
<add key="Port" value="58324" />
<add key="AutoConnect" value="True" />
<add key="Link" value="False" />
<add key="Link" value="False" />
</Tee2>
<Tee3>
<add key="Name" value="Test3" />
<add key="IPAddress" value="localhost" />
<add key="Port" value="58325" />
<add key="AutoConnect" value="False" />
<add key="Link" value="True" />
<add key="Link" value="False" />
</Tee3>
<Tee4 />
<Tee5 />
<Tee6 />
<Tee7 />
<Tee8 />
<Tee9 />
<Tee10>
<add key="Name" value="Test10" />
<add key="IPAddress" value="127.0.0.1" />
<add key="Port" value="58332" />
<add key="AutoConnect" value="False" />
<add key="Link" value="False" />
<add key="Link" value="False" />
</Tee10>
</appSettings>
</configuration>
.
Le voci TEE senza dati sono elementi Null.
Quando carico il testo XML generato nell'editor di Visual Studio 2010 mostra TEE1 ha un errore.
"L'elemento 'appiettings' ha un elemento figlio non valido" Tee11 ".Elenco dei possibili elementi previsti: 'Aggiungi, rimuovere.Cancella '. "
Come dovrei rappresentare una serie di oggetti simili?
Soluzione
È possibile memorizzare solo le impostazioni key=value
in <appSettings>
.Se vuoi qualcosa di più ricco, dovrai scrivere un gestore di sezione di configurazione personalizzato.
Vedi, ad esempio: