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 }
转载于:https://www.cnblogs.com/Setme/archive/2012/06/05/2536436.html