[[IT知识]] C# Asp.Net操作XML文件:增删改节点信息实战技巧

[复制链接]
查看: 73|回复: 0
发表于 前天 09:20 | 显示全部楼层 | 阅读模式
易博V9下载

C# Asp.Net操作XML文件:增删改节点信息实战技巧

C#、Asp.Net中对XML文件进行操作,增、删、改XMl文件里面节点信息

  1. public class XmlHelper
  2. {
  3. #region <b>增、删、改操作</b>==============================================
  4. /// <summary>
  5. /// 追加节点
  6. /// </summary>
  7. /// <param name="filePath">XML文档绝对路径</param>
  8. /// <param name="xPath">范例: @ Skill/First/SkillItem</param>
  9. /// <param name="xmlNode">XmlNode节点</param>
  10. /// <returns></returns>
  11. public static bool AppendChild(string filePath, string xPath, XmlNode xmlNode)
  12. {
  13. try
  14. {
  15. XmlDocument doc = new XmlDocument();
  16. doc.Load(filePath);
  17. XmlNode xn = doc.SelectSingleNode(xPath);
  18. XmlNode n = doc.ImportNode(xmlNode, true);
  19. xn.AppendChild(n);
  20. doc.Save(filePath);
  21. return true;
  22. }
  23. catch
  24. {
  25. return false;
  26. }
  27. }
  28. /// <summary>
  29. /// 从XML文档中读取节点追加到另一个XML文档中
  30. /// </summary>
  31. /// <param name="filePath">需要读取的XML文档绝对路径</param>
  32. /// <param name="xPath">范例: @ Skill/First/SkillItem</param>
  33. /// <param name="toFilePath">被追加节点的XML文档绝对路径</param>
  34. /// <param name="toXPath">范例: @ Skill/First/SkillItem</param>
  35. /// <returns></returns>
  36. public static bool AppendChild(string filePath, string xPath, string toFilePath, string toXPath)
  37. {
  38. try
  39. {
  40. XmlDocument doc = new XmlDocument();
  41. doc.Load(toFilePath);
  42. XmlNode xn = doc.SelectSingleNode(toXPath);
  43. XmlNodeList xnList = ReadNodes(filePath, xPath);
  44. if (xnList != null)
  45. {
  46. foreach (XmlElement xe in xnList)
  47. {
  48. XmlNode n = doc.ImportNode(xe, true);
  49. xn.AppendChild(n);
  50. }
  51. doc.Save(toFilePath);
  52. }
  53. return true;
  54. }
  55. catch
  56. {
  57. return false;
  58. }
  59. }
  60. /// <summary>
  61. /// 修改节点的InnerText的值
  62. /// </summary>
  63. /// <param name="filePath">XML文件绝对路径</param>
  64. /// <param name="xPath">范例: @ Skill/First/SkillItem</param>
  65. /// <param name="value">节点的值</param>
  66. /// <returns></returns>
  67. public static bool UpdateNodeInnerText(string filePath, string xPath, string value)
  68. {
  69. try
  70. {
  71. XmlDocument doc = new XmlDocument();
  72. doc.Load(filePath);
  73. XmlNode xn = doc.SelectSingleNode(xPath);
  74. XmlElement xe = (XmlElement)xn;
  75. xe.InnerText = value;
  76. doc.Save(filePath);
  77. }
  78. catch
  79. {
  80. return false;
  81. }
  82. return true;
  83. }
  84. /// <summary>
  85. /// 读取XML文档
  86. /// </summary>
  87. /// <param name="filePath">XML文件绝对路径</param>
  88. /// <returns></returns>
  89. public static XmlDocument LoadXmlDoc(string filePath)
  90. {
  91. try
  92. {
  93. XmlDocument doc = new XmlDocument();
  94. doc.Load(filePath);
  95. return doc;
  96. }
  97. catch
  98. {
  99. return null;
  100. }
  101. }
  102. #endregion <b>增、删、改操作</b>
  103. #region <b>扩展方法</b>===================================================
  104. /// <summary>
  105. /// 读取XML的所有子节点
  106. /// </summary>
  107. /// <param name="filePath">XML文件绝对路径</param>
  108. /// <param name="xPath">范例: @ Skill/First/SkillItem</param>
  109. /// <returns></returns>
  110. public static XmlNodeList ReadNodes(string filePath, string xPath)
  111. {
  112. try
  113. {
  114. XmlDocument doc = new XmlDocument();
  115. doc.Load(filePath);
  116. XmlNode xn = doc.SelectSingleNode(xPath);
  117. XmlNodeList xnList = xn.ChildNodes; //得到该节点的子节点
  118. return xnList;
  119. }
  120. catch
  121. {
  122. return null;
  123. }
  124. }
  125. #endregion <b>扩展方法</b>
  126. }
复制代码
易博软件介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表