今天在做项目的时候需要到配置文件中读取信息,之前自己并没有操作过,今天算是完成自己的一个心愿。读取配置文件中的信息并不难,大致思路是:
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;
}
如对本文有疑问, 点击进行留言回复!!
(精华)2020年7月21日 ASP.NET Core 容器伪属性注入
网友评论