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