1.在app.config中添加自定义的section
如
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="Zsq" type="ConsoleApplication3.Zsq,ConsoleApplication3" allowLocation="true" allowDefinition="Everywhere"/> </configSections> <Zsq> <Name>zsq</Name> <Age>34</Age> </Zsq> </configuration>
1》name的名称要和下面定义的一样 如“Zsq”
2》 type:逗号前面是包括命名空间的一个类后面是生成的exe或dll的名称
其中类实现了System.Configuration.IConfigurationSectionHandler接口中的create方法,create方法的实现如下
如
public object Create(object parent, object configContext, XmlNode section)
{
Zsq zsq = new Zsq();
//Console.WriteLine(section.ToString());
//zsq.Name = section.Attributes.ToString();
foreach (XmlNode node in section.ChildNodes)
{
switch (node.LocalName)
{
case "Name":
zsq.Name = section.SelectSingleNode("Name").InnerText;
break;
case "Age":
zsq.Age = int.Parse( section.SelectSingleNode("Age").InnerText);
break;
}
}
return zsq;
}
其中的
参数:XmlNode section中读取到的zsq节点,如:
<Zsq>
<Name>zsq</Name>
<Age>34</Age>
</Zsq>
3》在VS中生成XSD文件
4》利用VS自带的XSD工具生成对应的C#类:app.cs
例如:
E:\Program Files\Microsoft Visual Studio 12.0\VC>xsd E:\test\ConsoleApplication8
\ConsoleApplication3\App.xsd /c /f /order /o:E:\test\ConsoleApplication8\Console
Application3\ /namespace:ConsoleApplication3
注意:把生成的类中的成员变量改成属性这样才能利用C#自己的configurationmanager类去读取
最后用
object obj = ConfigurationManager.GetSection("Zsq");
Zsq zsq = obj as Zsq;
浙公网安备 33010602011771号