1

我在为我的应用程序编写配置部分时遇到了麻烦。我所需要的只是配置一个我将转换为对象的对列表。我已经看到使用 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>

有没有什么类可以帮助我解析这个而不强迫我的代码做丑陋的事情?

谢谢你

4

1 回答 1

1

您可以选择 2 个选项:

  1. 在有关如何在 web.config 中添加 xml的类似问题中创建自定义配置部分 ?或在这里查看一个基本示例:http ://www.4guysfromrolla.com/articles/020707-1.aspx

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

 <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();
于 2014-12-25T22:07:52.280 回答