在.net配置部分配置列表

时间:2014-12-25 21:30:34

标签: .net configurationsection

我在为我的应用程序编写配置部分时遇到了麻烦。 我需要的只是配置一对我要翻译成对象的对列表。 我已经看到使用ConfigurationElement和ConfigurationElementCollection类的实现,但它看起来很糟糕,我实际上强迫我的代码和配置适合这个解决方案。 我不想使用具有键值属性的元素,因为它不是我需要的。 我希望我的配置部分看起来像这样:

<MySection>
    <Option>
       <City>aaa</City>
       <Country>bbb</Country>
    </Option>
     <Option>
       <City>ccc</City>
       <Country>ddd</Country>
    </Option>
    <Option>
       <City>eee</City>
       <Country>fff</Country>
    </Option>
</MySection>

另一个可能的部分:

<MySection>
    <Option City="aaa" Country="bbb"/>
    <Option City="ccc" Country="ddd"/>
    <Option City="eee" Country="fff"/>
</MySection>

是否有任何类可以帮助我解析它而不强迫我的代码做丑陋的东西?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以选择2个选项:

  1. How to add a xml in web.config?上的类似问题上创建自定义配置部分,或者在此基本示例中找到一个基本示例:http://www.4guysfromrolla.com/articles/020707-1.aspx

  2. 如果您可以将其存储在简单列表中,请在appSettings中输入以逗号分隔的字符串:

  3.  <appSettings>
       <add key="countryName" value="CityA, CityC, CityD" />
       <add key="countryName2" value="CityB, CityE" />
     </appsettings>
    

    并按照以下方式阅读:

    string[] citiesPerCountry = ConfigurationManager.AppSettings["countryName"].Split(',').Select(s => s.Trim()).ToArray();