Bonjour à tous,

J'utilise dans une application un ficher App.config afin d'externaliser les paramètre de configuration.

Ce que je souhaiterais faire :
  • Avoir une collection de section dans le App.config, toutes contenues dans le même sectionGroup
  • Pouvoir itérer sur ces sections et retrouver leur contenu


Concrètement, j'aimerais que mon fichier App.config respecte le schéma suivant :

Dans l'entête <configSections>
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<sectionGroup name="animaux">
  <section name="elephant" type="System.Configuration.NameValueSectionHandler" />
  <section name="girafe" type="System.Configuration.NameValueSectionHandler" />
  <section name="chat" type="System.Configuration.NameValueSectionHandler" />
</sectionGroup>

Dans le corps du fichier :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<animaux>
  <elephant>
    <add key="taille" value="700"/>
    <add key="poids" value="9000"/>
    <add key="region" value="afrique"/>
  </elephant>
  <girafe>
    <add key="taille" value="500"/>
    <add key="poids" value="700"/>
    <add key="region" value="afrique"/>
  </girafe>
  <chat>
    <add key="taille" value="50"/>
    <add key="poids" value="10"/>
    <add key="region" value="europe"/>
  </chat>
</animaux>

Le but étant de pouvoir ajouter à loisir des animaux dans la sectionGroup.


Pour itérer parmi les section, j'ai tenté le code suivant (en m'inspirant de ce tutoriel developpez.com) :

Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
ConfigurationSectionCollection lesAnimaux =
  (ConfigurationSectionCollection)ConfigurationManager.GetSection("animaux"));
 
      for (int i = 0; i < lesAnimaux.Count; i++) {
        ConfigurationSection unAnimal = lesAnimaux[i];
        // Récupérer le poids, ta taille et la région de l'animal
      }

Je bloque sur la façon de récupérer les infos d'un animal.

Auriez-vous une idée ?