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

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;
}