欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.Net FrameWork获取配置文件信息

程序员文章站 2022-06-28 19:29:03
今天在做项目的时候需要到配置文件中读取信息,之前自己并没有操作过,今天算是完成自己的一个心愿。读取配置文件中的信息并不难,大致思路是: 1.载入配置文件,获取配置文件的实例。 2.获取配置文件的节点 3.筛选节点 在写入代码前要说明的是要先引用System.Xml空间 1.载入配置文件,获取配置文件 ......

今天在做项目的时候需要到配置文件中读取信息,之前自己并没有操作过,今天算是完成自己的一个心愿。读取配置文件中的信息并不难,大致思路是:

1.载入配置文件,获取配置文件的实例。

2.获取配置文件的节点

3.筛选节点

在写入代码前要说明的是要先引用system.xml空间

1.载入配置文件,获取配置文件的实例

public xmldocument getxmldoc(string filename)    // filename其实是配置文件的绝对路径
{
xmldocument returnvalue = new xmldocument();
returnvalue.load(filename.trim());
return returnvalue;
}

2.获取配置文件的节点

public xmlnodelist getnodelist(xmldocument xmldoc, string spath)  //spath是节点的路径,e.g:“/configuration/appsettings/add”
{
xmlnodelist returnvalue = null;
returnvalue = xmldoc.selectnodes(spath.trim());
return returnvalue;
}

3.筛选节点

//循环节点
foreach (xmlnode xn in xmlnodes)
{
if ((xn.attributes.count > 0) && (xn.attributes[keyname.trim()].value.equals(keyvalue.trim())))   // keyname是键的名称,如:<add key="name" value="lisi">,keyname就是key,keyvalue就是name
{
returnvalue = xn.attributes[aname.trim()].value.trim();  // aname是value
break;
}
}

一个完整的方法代码如下:

public string getattributevaluebykey(string fname, string spath, string keyname, string keyvalue, string aname)
{
string returnvalue = null;
//根据文件路径获取文件实例对像
xmlnodelist xmlnodes = this.getnodelist(getxmldoc(fname), spath);

//循环节点
foreach (xmlnode xn in xmlnodes)
{
if ((xn.attributes.count > 0) && (xn.attributes[keyname.trim()].value.equals(keyvalue.trim())))
{
returnvalue = xn.attributes[aname.trim()].value.trim();
break;
}
}

return returnvalue;
}