今天在做項目的時候需要到配置文件中讀取信息,之前自己並沒有操作過,今天算是完成自己的一個心願。讀取配置文件中的信息並不難,大致思路是:
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;
}