简单的XML的读取修改

前端之家收集整理的这篇文章主要介绍了简单的XML的读取修改前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

假如一个xml文件如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- 注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来
  3. 配置应用程序的设置。可以使用 Visual Studio 中的“网站”->“ASP.NET 配置”
  4. 选项。
  5. 设置和注释的完整列表在
  6. machine.config.comments 中,该文件通常位于 \Windows\Microsoft.NET\Framework\v2.0.xxxxx\Config 中
  7. -->
  8. <configuration>
  9. <appSettings>
  10. <add key="StartupFileWatch" value="True" />
  11. <add key="MaxSize" value="2097152" />
  12. <add key="MinSize" value="10" />
  13. <add key="WatchDir" value="UpLoadFolder" />
  14. <add key="IgnorePostfix" value=".html;.htm;.js" />
  15. <add key="CsCommand" value="1" />
  16. <add key="PeCommand" value="1" />
  17. </appSettings>
  18. </configuration>
  1. /// <summary>
  2. /// 是否启动实时监控
  3. /// </summary>
  4. static public bool StartupFileWatch
  5. {
  6. get
  7. {
  8. string str = XML.GetConfig("StartupFileWatch",@"Config\TopWinCMS.FileWatcher.config");
  9. return Convert.ToBoolean(str);
  10. }
  11. set
  12. {
  13. XML.SaveSetting("StartupFileWatch",value.ToString(),@"Config\TopWinCMS.FileWatcher.config");
  14. }
  15. }

  1. /// <summary>
  2. /// 读取 XML中指定节点值
  3. /// </summary>
  4. /// <param name="strKeyName"></param>
  5. /// <returns></returns>
  6. public static string GetConfig(string strKeyName)
  7. {
  8. return GetConfig(strKeyName,"Web.config");
  9. }
  10.  
  11. /// <summary>
  12. /// 读取 XML中指定节点值
  13. /// </summary>
  14. /// <param name="strKeyName">节点键名</param>
  15. /// <returns>指定节点键值</returns>
  16. public static string GetConfig(string strKeyName,string strWhich)
  17. {
  18. string configpath;
  19. try
  20. {
  21. configpath = string.Concat(System.Web.HttpRuntime.AppDomainAppPath,@"\",strWhich);
  22. }
  23. catch
  24. {
  25. configpath = System.Windows.Forms.Application.StartupPath;
  26.  
  27. if (configpath.EndsWith(@"\bin"))
  28. {
  29. configpath = configpath.Substring(0,configpath.Length - 4);
  30. }
  31. configpath = string.Concat(configpath,strWhich);
  32. }
  33.  
  34. using (XmlTextReader tr = new XmlTextReader(configpath))
  35. {
  36. while (tr.Read())
  37. {
  38. if (tr.NodeType == XmlNodeType.Element)
  39. {
  40. if (tr.Name == "add" && tr.GetAttribute("key") == strKeyName)
  41. {
  42. return tr.GetAttribute("value");
  43. }
  44. }
  45. }
  46. }
  47. return null;
  48. }

  1. /// <summary>
  2. /// 保存Web.config
  3. /// </summary>
  4. /// <param name="strKeyName">节点名</param>
  5. /// <param name="strKeyValue">要保存的值</param>
  6. /// <param name="strWhich">哪个配置文件</param>
  7. public static void SaveSetting(string strKeyName,string strKeyValue,string strWhich)
  8. {
  9. //创建XML文档实例
  10. System.Xml.XmlDocument XMLWebSetting = new System.Xml.XmlDocument();
  11.  
  12. //打开XML文档
  13. XMLWebSetting.Load(System.Web.HttpRuntime.AppDomainAppPath + "/" + strWhich);
  14.  
  15. //查找节点所在位置
  16. System.Xml.XmlNodeList XmlNodeList = XMLWebSetting.SelectSingleNode("//appSettings").ChildNodes;
  17.  
  18. foreach (System.Xml.XmlNode xn in XmlNodeList)
  19. {
  20. if (xn.Attributes["key"].InnerText == strKeyName)
  21. {
  22. xn.Attributes["value"].InnerText = strKeyValue;
  23. XMLWebSetting.Save(System.Web.HttpContext.Current.Server.MapPath("~/" + strWhich + ""));
  24. break;
  25. }
  26. }
  27. }

猜你在找的XML相关文章