如果有办法在“配置”文件中存储层次结构?

时间:2014-04-15 14:14:47

标签: c# configuration-files

目标是在配置上定义初始层次结构。 所需的设计是:

<Nodes>
  <Node Name = "a">
     <ChildNodeNames>
        b, c
     </ChildNodeNames>
  </Node>

  <Node Name = "b">
     <ChildNodeNames/>
  </Node>
  <Node Name = "c">
     <ChildNodeNames/>
  </Node>

</Node>

理论上它应该与System.Configuration.NameValueFileSectionHandler类型非常相似           

<Company.appSettings>
    <add key="1" value="a" />
    <add key="2" value="b" />
    <add key="3" value="c" />
  </Company.appSettings>

但如何:

  1. 采用目标并放入配置文件
  2. 从配置中获取“节点”部分并接收包含Node?集合的对象

    这是一个很好的解决方案,但它没有解决问题的第二个方面(How to get a List<string> collection of values from app.config in WPF?

1 个答案:

答案 0 :(得分:0)

找到了一个帮助我实现所需概念的链接:http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&l=EN-US&k=k(System.Configuration.ConfigurationCollectionAttribute);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);k(DevLang-csharp)&rd=true

不幸的是,一些代码的和平并不完整。例如,没有BaseGet

的定义

可能的实施:

public UrlConfigElement  BaseGet(string key) 
{
    return this.OfType<UrlConfigElement>().First( e => e.Name == key);
}