如何从subsection web config C#获取属性?

时间:2015-02-19 06:33:58

标签: c# configurationmanager web-config-transform

我尝试从一个小节中获取所有属性,但是节有很多小节,而且应用程序没有识别,我该怎么办?这是我的网络配置:

<configSections>
    <section name="Seccion" type="ManejoConfiguracion.SeccionConfig,ManejoConfiguracion"/>
   </configSections>

  <Seccion>
    <BD>
    <add key="name" value="dbKey" />
    <add key="user" value="userBD" />
    <add key="pass" value="123BD" />
    </BD>

    <ReportingService>
    <add key="name" value="Reporting" />
    <add key="user" value="userReport" />
    </ReportingService>

   </Seccion>
</configuration>

2 个答案:

答案 0 :(得分:1)

您可以将其反序列化为自定义部分类型:

var section = ConfigurationManager.GetSection("Seccion") as ManejoConfiguracion.SeccionConfig;

答案 1 :(得分:1)

呸!忘记那些疯狂的配置对象。使用Linq to XML:

var seccion = 
    XDocument.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile)
        .Root.Element("Seccion");

// Now Linq to XML until your heart's content!
var user = (string)seccion.Element("BD").Elements("add")
    .Where(x => (string)x.Attribute("key") == "user")
        .Single().Attribute("value");