1:带有一个路径的参数构造方法
private string path;
public string Path { get => path; set => path = value; }
/// <summary>
/// 带有一个路径的参数构造方法
/// </summary>
/// <param name="path">文件路径</param>
public XmlHelper(string path)
{
this.Path = path;
}
2:创建XML的根节点方法
/// <summary>
/// 创建XML的根节点方法
/// </summary>
public XmlDocument createXmlNode()
{
XmlDocument xmlDocument = new XmlDocument();
XmlNode xmlNode = xmlDocument.CreateNode(XmlNodeType.XmlDeclaration,"",Path);
xmlDocument.AppendChild(xmlNode);
return xmlDocument;
}
3:新增节点方法
/// <summary>
/// 新增节点方法
/// </summary>
/// <param name="nodeNmae">节点名</param>
public void addNode(string nodeNmae)
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(Path);
XmlElement xmlRoot = xmlDocument.DocumentElement;
XmlNode xmlNode = xmlDocument.CreateNode("element", nodeNmae,"");
xmlRoot.AppendChild(xmlNode);
xmlDocument.Save(path);
}
4:删除节点方法
/// <summary>
/// 删除节点方法
/// </summary>
public void delNode(string nodeNmae)
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(Path);
XmlElement xmlRoot = xmlDocument.DocumentElement;
XmlNode xmlNode = xmlDocument.SelectSingleNode(nodeNmae);
xmlRoot.RemoveChild(xmlNode);
xmlDocument.Save(Path);
}
5:保存XML文件方法
/// <summary>
/// 保存XML文件方法
/// </summary>
public void saveFile(XmlDocument xmlDocument)
{
xmlDocument.Save(Path);
}
6:获取指定XPath表达式节点的值方法
/// <summary>
/// 获取指定XPath表达式节点的值方法
/// </summary>
/// <param name="xmlPath">指定XPath表达式</param>
/// <returns>值</returns>
public string GetValue(string xmlPath) {
doc.Load(path);
return doc.SelectSingleNode(xmlPath).InnerText;
}
7:获取指定XPath表达式节点的属性值方法
/// <summary>
/// 获取指定xPath表达式节点的属性值方法
/// </summary>
/// <param name="xmlPath">指定xPath表达式</param>
/// <param name="attr">属性名</param>
/// <returns></returns>
public string GetAttributeValue(string xmlPath,string attr) {
doc.Load(path);
return doc.SelectSingleNode(xmlPath).Attributes[attr].Value;
}
8:获取指定XPath表达式的节点对象方法
/// <summary>
/// 获取指定xPath表达式的节点对象方法
/// </summary>
/// <param name="xmlPath"></param>
/// <returns></returns>
public XmlNode GetNode(string xmlPath) {
doc.Load(path);
return doc.SelectSingleNode(xmlPath);
}