博主整理了一个XML帮助类,有以下功能:
1:带有一个路径的参数构造方法
2:创建XML的根节点方法
3:新增节点方法
4:删除节点方法
5:保存XML文件方法
6:获取指定XPath表达式节点的值方法
7:获取指定XPath表达式节点的属性值方法
8:获取指定XPath表达式的节点对象方法
public class XmlHelper
{
string path=string.Empty;//路径
XmlDocument doc = null;
/// <summary>
/// 带有一个路径的参数构造方法
/// </summary>
/// <param name="path">路径</param>
/// <param name="doc">xml对象</param>
public XmlHelper(string path, XmlDocument doc)
{
this.path = path;
this.doc = doc;
}
public XmlHelper(){}
/// <summary>
/// 创建XML的根节点方法
/// </summary>
/// <returns></returns>
public void CreateRoot(string name) {
XmlDeclaration declaration=doc.CreateXmlDeclaration("1.0","utf-8",null);
doc.AppendChild(declaration);
XmlElement root=doc.CreateElement(name);
doc.AppendChild(root);
}
/// <summary>
/// 新增节点方法
/// </summary>
/// <param name="name">节点名</param>
public void InsertNode(string name,string value) {
doc.Load(path);//加载文档
XmlNode root=doc.DocumentElement;
XmlNode node=doc.CreateElement(name);
node.InnerText = value;
root.AppendChild(node);
}
/// <summary>
/// 删除节点方法
/// </summary>
/// <param name="name">需要删除的节点的名</param>
public void Del(string name) {
doc.Load(path);
XmlNode node=doc.SelectSingleNode("//"+name);
doc.RemoveChild(node);
}
/// <summary>
/// 保存XML文件方法
/// </summary>
public void Save() {
doc.Save(path);
}
/// <summary>
/// 获取指定XPath表达式节点的值方法
/// </summary>
/// <param name="xPath">指定XPath表达式</param>
/// <returns>值</returns>
public string GetValue(string xPath) {
doc.Load(path);
return doc.SelectSingleNode(xPath).InnerText;
}
/// <summary>
/// 获取指定XPath表达式节点的属性值方法
/// </summary>
/// <param name="xPath">指定XPath表达式</param>
/// <param name="att">属性名</param>
/// <returns></returns>
public string GetAttributeValue(string xPath,string att) {
doc.Load(path);
return doc.SelectSingleNode(xPath).Attributes[att].Value;
}
/// <summary>
/// 获取指定XPath表达式的节点对象方法
/// </summary>
/// <param name="xPath">指定XPath表达式</param>
/// <returns></returns>
public XmlNode GetNode(string xPath) {
doc.Load(path);
return doc.SelectSingleNode(xPath);
}
}