我正在尝试从oracle.manageddataaccess.client
文件中的App.config
部分获取值。本节如下所示:
<oracle.manageddataaccess.client>
<version number="*">
<dataSources>
<dataSource alias="alias1" descriptor="connection string 1" />
<dataSource alias="alias2" descriptor="connection string 2" />
</dataSources>
</version>
</oracle.manageddataaccess.client>
我尝试使用ConfigurationManager
API来读取值,但我没有运气。
使用:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["oracle.manageddataaccess.client"]
只返回一个空字符串。
config.Sections
似乎仅适用于明确为section
代码的代码。
我只需要能够阅读本节中的dataSource
值。
更新:
config.Sections["oracle.manageddataaccess.client"].SectionInformation
会返回有关该部分的信息,而GetRawXml()
正在接近我想要的内容,但我正在尝试获取此部分的特定子集。
答案 0 :(得分:-1)
我没有找到我想要的东西,但我找到了解决方法。
如果其他人有同样的问题,您可以使用XDocument和Linq来过滤您需要的内容。您需要添加using
语句:System.Linq
和System.Xml.Linq
XDocument doc = XDocument.Parse(config.Sections["oracle.manageddataaccess.client"].SectionInformation.GetRawXml());
var value = from node in doc.Descendants("dataSource")
where node.Attribute("alias").Value == whatever
select node.Attribute("descriptor").Value;