using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Xml; namespace jiufen.Web.code { public class OperatingXML { XmlDocument xmlDoc = new XmlDocument(); //load xml file private void LoadXml() { xmlDoc = new XmlDocument(); xmlDoc.Load(HttpContext.Current.Server.MapPath("xml/User.xml"));//xml的根目录 } //添加节点 public void AddElement() { LoadXml(); XmlNode xmldocSelect = xmlDoc.SelectSingleNode("user"); XmlElement el = xmlDoc.CreateElement("person"); //添加person节点 el.SetAttribute("name", "周杰伦"); //添加person节点的属性"name" el.SetAttribute("sex", "男"); //添加person节点的属性 "sex" el.SetAttribute("age", "52"); //添加person节点的属性 "age" XmlElement xesub1 = xmlDoc.CreateElement("pass"); //添加person节点的里的节点 xesub1.InnerText = "22";//设置文本节点 el.AppendChild(xesub1); XmlElement xesub2 = xmlDoc.CreateElement("Address"); xesub2.InnerText = "昆明";//设置文本节点 el.AppendChild(xesub2); xmldocSelect.AppendChild(el); xmlDoc.Save(HttpContext.Current.Server.MapPath("xml/User.xml")); } //修改节点 public void UpdateElement() { LoadXml(); XmlNodeList nodeList = xmlDoc.SelectSingleNode("user").ChildNodes;//获取bookstore节点的所有子节点 foreach (XmlNode xn in nodeList)//遍历所有子节点 { XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型 if (xe.GetAttribute("name") == "周杰伦")//如果name属性值为“周杰伦” { xe.SetAttribute("name", "刘得华"); //如果下面有子节点在下走 XmlNodeList nls = xe.ChildNodes;//继续获取xe子节点的所有子节点 foreach (XmlNode xn1 in nls)//遍历 { XmlElement xe2 = (XmlElement)xn1;//转换类型 if (xe2.Name == "pass")//如果找到 { xe2.InnerText = "66666";//则修改 break; } } break; } } xmlDoc.Save(HttpContext.Current.Server.MapPath("xml/User.xml"));//保存 } //删出节点 public void deleteNode() { LoadXml(); XmlNodeList xnl = xmlDoc.SelectSingleNode("user").ChildNodes; foreach (XmlNode xn in xnl) { XmlElement xe = (XmlElement)xn; if (xe.GetAttribute("name") == "刘得华") { //xe.RemoveAttribute("name");//删除name属性 xe.RemoveAll();//删除该节点的全部内容 break; } } xmlDoc.Save(HttpContext.Current.Server.MapPath("xml/user.xml"));//保存 } /// <summary> /// 查询节点 /// </summary> public string showIt() { string temp = ""; LoadXml(); XmlNode xn = xmlDoc.SelectSingleNode("user"); XmlNodeList xnl = xn.ChildNodes; foreach (XmlNode xnf in xnl) { XmlElement xe = (XmlElement)xnf; temp += "姓名:" + xe.GetAttribute("name").ToString() + "<br/>" + "年龄:" + xe.GetAttribute("age").ToString() + "<br/>"; // Console.WriteLine(xe.GetAttribute("name"));//显示属性值 // Console.WriteLine(xe.GetAttribute("sex")); // XmlNodeList xnf1 = xe.ChildNodes; foreach (XmlNode xn2 in xnf1) { temp += "地址:" + xn2.InnerText + "<br/>"; // Console.WriteLine(xn2.InnerText);//显示子节点点文本 } } return temp; } } }