xml文档的增删改

 1 using System;

 2 using System.Collections.Generic;

 3 using System.Linq;

 4 using System.Web;

 5 using System.Xml;

 6 

 7 namespace Common

 8 {

 9     public class Xml

10     {

11         private XmlDocument xmlDoc;

12 

13         /// <summary>

14         /// xml文件名,调用次大类必须先设定xml文件名

15         /// </summary>

16         public string XmlName;

17 

18         /// <summary>

19         /// 读取xml文档

20         /// </summary>

21         /// <param name="XmlName">xml文档名</param>

22         private void LoadXml()

23         {

24             xmlDoc = new XmlDocument();

25             xmlDoc.Load(System.Web.HttpContext.Current.Server.MapPath(XmlName));

26         }

27 

28         /// <summary>

29         /// 增加xml文档的节点

30         /// </summary>

31         /// <param name="AddID">节点的name值</param>

32         /// <param name="ImageUrl">图片位置及其名字 例如:images/pic_04.gif</param>

33         /// <param name="Url">链接地址 例如:详细显示页.aspx?ID=36</param>

34         private void AddElement(string AddID,string ImageUrl,string Url)

35         {

36             LoadXml();

37             XmlNode xmldocSelect = xmlDoc.SelectSingleNode("slideshow");

38             XmlElement el = xmlDoc.CreateElement("photo"); //添加photo节点

39             el.SetAttribute("name", AddID); //添加photo节点的属性"name"

40 

41             XmlElement xesub1 = xmlDoc.CreateElement("image"); //添加image节点的里的节点

42             xesub1.InnerText = ImageUrl;//设置文本节点

43             el.AppendChild(xesub1);

44 

45             XmlElement xesub2 = xmlDoc.CreateElement("url");

46             xesub2.InnerText = Url;//设置文本节点

47             el.AppendChild(xesub2);

48 

49             xmldocSelect.AppendChild(el);

50             xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath(XmlName));

51         }

52 

53         /// <summary>

54         /// 修改xml文档

55         /// </summary>

56         /// <param name="ID">最新的name值</param>

57         /// <param name="UpdateID">所要修改节点的name值</param>

58         /// <param name="ImageUrl">图片位置及其名字 例如:images/pic_04.gif</param>

59         /// <param name="Url">链接地址 例如:详细显示页.aspx?ID=36</param>

60         private void UpdateXml(string ID, string UpdateID, string ImageUrl, string Url)

61         {

62             LoadXml();

63             XmlNodeList nodeList = xmlDoc.SelectSingleNode("slideshow").ChildNodes;//获取slideshow节点的所有子节点

64             foreach (XmlNode xn in nodeList)//遍历所有子节点

65             {

66                 XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型

67                 if (xe.GetAttribute("name") == UpdateID)//如果name属性值为“UpdateID”

68                 {

69                     xe.SetAttribute("name", ID);

70                     xe.ChildNodes[0].Value = ImageUrl;

71                     xe.ChildNodes[1].Value = Url;

72                     break;

73                 }

74             }

75             xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath(XmlName));//保存xml文档

76         }

77 

78         /// <summary>

79         /// 删除xml文档的节点

80         /// </summary>

81         /// <param name="DeleteID">所要删除节点的name值</param>

82         private void deleteNode(string DeleteID)

83         {

84             LoadXml();

85             XmlNodeList xnl = xmlDoc.SelectSingleNode("slideshow").ChildNodes;

86             foreach (XmlNode xn in xnl)

87             {

88                 XmlElement xe = (XmlElement)xn;

89                 if (xe.GetAttribute("name") == DeleteID)

90                 {

91                     xe.RemoveAll();//删除该节点的全部内容

92                     break;

93                 }

94             }

95             xmlDoc.Save(System.Web.HttpContext.Current.Server.MapPath(XmlName));//保存xml文档

96         }

97     }

98 }

你可能感兴趣的:(xml)