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 }