配置文件内容如下:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

     <configSections>       

         <section name="mySection" type="System.Configuration.NameValueSectionHandler"/>

         <section name="mySingleTagSection" type="System.Configuration.SingleTagSectionHandler"/>

         <section name="myDictionarySection" type="System.Configuration.DictionarySectionHandler"/>

 

         <sectionGroup name="mySections">

              <section name="mySection1" type="System.Configuration.NameValueSectionHandler"/>

              <section name="mySection2" type="System.Configuration.NameValueSectionHandler"/>

         </sectionGroup>

     </configSections>

     

    <mySection>

         <add key="key1" value="value1" />

        <add key="key2" value="value2" />

    </mySection>

    

    <mySingleTagSection setting1="value1" setting2="value2" setting3="value3" />

 

     <myDictionarySection>

         <add key="DictionarySectionKey1" value="DictionarySectionValue1"/>

         <add key="DictionarySectionKey2" value="DictionarySectionValue2"/>

         <add key="DictionarySectionKey3" value="DictionarySectionValue3"/>

     </myDictionarySection>

        

     <mySections>

         <mySection1>

              <add key="mySection1_key1" value="mySection1_value1" />

              <add key="mySection1_key2" value="mySection1_value2" />          

         </mySection1>

         <mySection2>

              <add key="mySection2_key1" value="mySection2_value1" />

              <add key="mySection2_key2" value="mySection2_value2" />

         </mySection2>

     </mySections>

     

     <appSettings>

        <add key="appkey1" value="appvalue1" />

        <add key="appkey2" value="appvalue2" />    

    </appSettings>

</configuration>
 


代码片断如下:

private static void TestAppSettings()

{

     Console.WriteLine("TestAppSettings ...");

 

     NameValueCollection config = ConfigurationSettings.AppSettings;

     

     Console.WriteLine("value1:" + config["key1"]);

     Console.WriteLine("value2:" + config["key2"]);

 

     Console.WriteLine();

}

private static void TestSection()

{

     Console.WriteLine("TestSection ...");

 

     NameValueCollection config ;

     config = (NameValueCollection)ConfigurationSettings.GetConfig("mySection");

     Console.WriteLine("value1:" + config["key1"]);

     Console.WriteLine("value2:" + config["key2"]);

 

     Console.WriteLine();

}

 

private static void TestSingleTagSection()

{

     Console.WriteLine("TestSingleTagSection ...");

 

     IDictionary dic ;

     dic = (IDictionary)ConfigurationSettings.GetConfig("mySingleTagSection");

     Console.WriteLine("value1:" + dic["setting1"]);

     Console.WriteLine("value2:" + dic["setting2"]);

     Console.WriteLine("value3:" + dic["setting3"]);

 

     Console.WriteLine();

}

 

private static void TestDictionarySection()

{

     Console.WriteLine("TestDictionarySection ...");

 

     IDictionary dic ;

     dic = (IDictionary)ConfigurationSettings.GetConfig("myDictionarySection");

     Console.WriteLine("DictionarySectionValue1:" + dic["DictionarySectionKey1"]);

     Console.WriteLine("DictionarySectionValue2:" + dic["DictionarySectionKey2"]);

     Console.WriteLine("DictionarySectionValue3:" + dic["DictionarySectionKey3"]);

 

     Console.WriteLine();

}

 

private static void TestSectionGroup()

{

     Console.WriteLine("TestSectionGroup ...");

 

     NameValueCollection config1 ;

     NameValueCollection config2 ;

     config1 = (NameValueCollection)ConfigurationSettings.GetConfig("mySections/mySection1");

     config2 = (NameValueCollection)ConfigurationSettings.GetConfig("mySections/mySection2");

 

     Console.WriteLine("mySections/mySections1/value1:" + config1["mySection1_key1"]);

     Console.WriteLine("mySections/mySections1/value2:" + config1["mySection1_key2"]);

 

     Console.WriteLine("mySections/mySections2/value1:" + config2["mySection2_key1"]);

     Console.WriteLine("mySections/mySections2/value2:" + config2["mySection2_key2"]);

 

     Console.WriteLine();

}