C# 如何获取 <configSections> 中的键数(计数)
C# How can I get the number (count) of keys in <configSections>
我试图在我的 app.Config 中获取配置部分的 数量 以便为此初始化一个 int var # 并循环读取项目运行 时间动态。
<configSections>
<section name="Section1" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section2" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section3" type="ConfigSections.MySection, MyNamespace"/>
</configSections>
在此示例中,计数 将为 3。
我已经尝试使用 ConfigurationSectionGroup 和其他 classes 但他们的 .Count 属性 没有 return 正确的数字(他们似乎继承了额外的 sections/groups 来自其他地方)或 class 根本没有计数 属性.
我可能会浏览该部分并计算每个项目以获得 # 但我想知道是否有直接方法或 属性 立即获得此 #。
谢谢。
使用XmlDocument
class。
但首先在您的项目中添加 System.Xml.XmlDocument
,使用 NuGet 包。
XML 文件
<?xml version="1.0" encoding="UTF-8" ?>
<configSections>
<section name="Section1" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section2" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section3" type="ConfigSections.MySection, MyNamespace"/>
<other name="Other" type="ConfigSections.Other, MyNamespace"/>
</configSections>
代码示例
XmlDocument xml = new XmlDocument();
xml.Load(".../test.xml"); //path to xml file
XmlNodeList xnList = xml.SelectNodes("/configSections/section");
Console.WriteLine(xnList.Count);
foreach (XmlNode xn in xnList)
{
string value = xn.Attributes.GetNamedItem("name").Value;
Console.WriteLine(value);
}
结果
3
Section1
Section2
Section3
我试图在我的 app.Config 中获取配置部分的 数量 以便为此初始化一个 int var # 并循环读取项目运行 时间动态。
<configSections>
<section name="Section1" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section2" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section3" type="ConfigSections.MySection, MyNamespace"/>
</configSections>
在此示例中,计数 将为 3。
我已经尝试使用 ConfigurationSectionGroup 和其他 classes 但他们的 .Count 属性 没有 return 正确的数字(他们似乎继承了额外的 sections/groups 来自其他地方)或 class 根本没有计数 属性.
我可能会浏览该部分并计算每个项目以获得 # 但我想知道是否有直接方法或 属性 立即获得此 #。
谢谢。
使用XmlDocument
class。
但首先在您的项目中添加 System.Xml.XmlDocument
,使用 NuGet 包。
XML 文件
<?xml version="1.0" encoding="UTF-8" ?>
<configSections>
<section name="Section1" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section2" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section3" type="ConfigSections.MySection, MyNamespace"/>
<other name="Other" type="ConfigSections.Other, MyNamespace"/>
</configSections>
代码示例
XmlDocument xml = new XmlDocument();
xml.Load(".../test.xml"); //path to xml file
XmlNodeList xnList = xml.SelectNodes("/configSections/section");
Console.WriteLine(xnList.Count);
foreach (XmlNode xn in xnList)
{
string value = xn.Attributes.GetNamedItem("name").Value;
Console.WriteLine(value);
}
结果
3
Section1
Section2
Section3