C#操作Xml文件读取增加删除修改查询
|
admin
2025年1月10日 20:23
本文热度 1714
|
/// <summary>/// 追加节点/// </summary>/// <param name="filePath">XML文档绝对路径</param>/// <param name="xPath">范例: @"Skill/First/SkillItem"</param>/// <param name="xmlNode">XmlNode节点</param>/// <returns></returns>public static bool AppendChild(string filePath, string xPath, XmlNode xmlNode){ try { XmlDocument doc = new XmlDocument(); doc.Load(filePath); XmlNode xn = doc.SelectSingleNode(xPath); XmlNode n = doc.ImportNode(xmlNode, true); xn.AppendChild(n); doc.Save(filePath); return true; } catch { return false; }}
/// <summary>/// 从XML文档中读取节点追加到另一个XML文档中/// </summary>/// <param name="filePath">需要读取的XML文档绝对路径</param>/// <param name="xPath">范例: @"Skill/First/SkillItem"</param>/// <param name="toFilePath">被追加节点的XML文档绝对路径</param>/// <param name="toXPath">范例: @"Skill/First/SkillItem"</param>/// <returns></returns>public static bool AppendChild(string filePath, string xPath, string toFilePath, string toXPath){ try { XmlDocument doc = new XmlDocument(); doc.Load(toFilePath); XmlNode xn = doc.SelectSingleNode(toXPath);
XmlNodeList xnList = ReadNodes(filePath, xPath); if (xnList != null) { foreach (XmlElement xe in xnList) { XmlNode n = doc.ImportNode(xe, true); xn.AppendChild(n); } doc.Save(toFilePath); } return true; } catch { return false; }}
/// <summary>/// 修改节点的InnerText的值/// </summary>/// <param name="filePath">XML文件绝对路径</param>/// <param name="xPath">范例: @"Skill/First/SkillItem"</param>/// <param name="value">节点的值</param>/// <returns></returns>public static bool UpdateNodeInnerText(string filePath, string xPath, string value){ try { XmlDocument doc = new XmlDocument(); doc.Load(filePath); XmlNode xn = doc.SelectSingleNode(xPath); XmlElement xe = (XmlElement)xn; xe.InnerText = value; doc.Save(filePath); } catch { return false; } return true;}
/// <summary>/// 读取XML文档/// </summary>/// <param name="filePath">XML文件绝对路径</param>/// <returns></returns>public static XmlDocument LoadXmlDoc(string filePath){ try { XmlDocument doc = new XmlDocument(); doc.Load(filePath); return doc; } catch { return null; }}
/// <summary>/// 读取XML的所有子节点/// </summary>/// <param name="filePath">XML文件绝对路径</param>/// <param name="xPath">范例: @"Skill/First/SkillItem"</param>/// <returns></returns>public static XmlNodeList ReadNodes(string filePath, string xPath){ try { XmlDocument doc = new XmlDocument(); doc.Load(filePath); XmlNode xn = doc.SelectSingleNode(xPath); XmlNodeList xnList = xn.ChildNodes; //得到该节点的子节点 return xnList; } catch { return null; }}
阅读原文:原文链接
该文章在 2025/1/11 18:19:47 编辑过