我正在使用某种方法来解析我的app.config文件。然后我被告知使用ConfigurationManager更好更简单。但问题是我不知道如何使用ConfigurationManager。
我原来的代码看起来像这样:
XmlNode xmlProvidersNode;
XmlNodeList xmlProvidersList;
XmlNodeList xmlTaskFactoriesList;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("app.config");
xmlProvidersNode = xmlDoc.DocumentElement.SelectSingleNode("TaskProviders");
xmlProvidersList = xmlProvidersNode.SelectNodes("TaskProvider");
foreach (XmlNode xmlProviderElement in xmlProvidersList)
{
if (xmlProviderElement.Attributes.GetNamedItem("Name").Value.Equals(_taskProvider))
{
xmlTaskFactoriesList = xmlProviderElement.SelectNodes("TaskTypeFactory");
foreach (XmlNode xmlTaskFactoryElement in xmlTaskFactoriesList)
{
if (xmlTaskFactoryElement.Attributes.GetNamedItem("TaskType").Value.Equals(_taskType))
{
taskTypeFactory = xmlTaskFactoryElement.Attributes.GetNamedItem("Class").Value;
}
}
}
}
使用ConfigurationManager的等价物是什么? (因为我只能看到如何获得键而不是节点..)
由于
答案 0 :(得分:4)
创建一个继承ConfigurationSection
的类,比如说MyConfigSection
。然后,您可以使用ConfigurationManager.GetSection
方法获取MyConfigSection
类的实例。 ConfigurationManager
将执行所有解析,因此您将拥有一个强类型对象。 Here is an excellent example to follow.
答案 1 :(得分:2)
如果您担心自定义部分使用“配置”部分类创建自己的类。 Here就是使用它的一个例子。