简单的XML在ASP.NET中增删改应用

  1 using System; 
2 using System.Collections;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Web;
7 using System.Web.SessionState;
8 using System.Web.UI;
9 using System.Web.UI.WebControls;
10 using System.Web.UI.HtmlControls;
11 using System.Xml;
12 private XmlDocument xmlDoc;
13 //load xml file
14 private void LoadXml()
15 {
16 xmlDoc=new XmlDocument();
17 xmlDoc.Load(Server.MapPath("User.xml"));
18 }
19 //添加节点
20 private void AddElement()
21 {
22 LoadXml();
23 XmlNode xmldocSelect=xmlDoc.SelectSingleNode("user");
24 XmlElement el=xmlDoc.CreateElement("person"); //添加person节点
25 el.SetAttribute("name","风云"); //添加person节点的属性"name"
26 el.SetAttribute("sex",""); //添加person节点的属性 "sex"
27 el.SetAttribute("age","25"); //添加person节点的属性 "age"
28 XmlElement xesub1=xmlDoc.CreateElement("pass"); //添加person节点的里的节点
29 xesub1.InnerText="123"; //设置文本节点
30 el.AppendChild(xesub1);
31 XmlElement xesub2=xmlDoc.CreateElement("Address");
32 xesub2.InnerText="昆明"; //设置文本节点
33 el.AppendChild(xesub2);
34 xmldocSelect.AppendChild(el);
35 xmlDoc.Save(Server.MapPath("user.xml"));
36 }
37 //修改节点
38 private void UpdateElement()
39 {
40 LoadXml();
41 XmlNodeList nodeList=xmlDoc.SelectSingleNode("user").ChildNodes; //获取bookstore节点的所有子节点
42 foreach(XmlNode xn in nodeList) //遍历所有子节点
43 {
44 XmlElement xe=(XmlElement)xn; //将子节点类型转换为XmlElement类型
45 if(xe.GetAttribute("name")=="风云") //如果name属性值为“风云”
46 {
47 xe.SetAttribute("name","发明"); //如果下面有子节点在下走
48 XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
49 foreach(XmlNode xn1 in nls)//遍历
50 {
51 XmlElement xe2=(XmlElement)xn1;//转换类型
52 if(xe2.Name=="pass")//如果找到
53 {
54 xe2.InnerText="66666";//则修改
55 break;
56 }
57 }
58 break;
59 }
60 }
61 xmlDoc.Save(Server.MapPath("user.xml"));//保存
62 }
63 //删出节点
64 private void deleteNode()
65 {
66 LoadXml();
67 XmlNodeList xnl=xmlDoc.SelectSingleNode("user").ChildNodes;
68 foreach(XmlNode xn in xnl)
69 {
70 XmlElement xe=(XmlElement)xn;
71 if(xe.GetAttribute("name")=="发明")
72 {
73 //xe.RemoveAttribute("name");//删除name属性
74 xe.RemoveAll();//删除该节点的全部内容
75 break;
76 }
77 }
78 xmlDoc.Save(Server.MapPath("user.xml"));//保存
79 }
80 private void showIt()
81 {
82 LoadXml();
83 XmlNode xn=xmlDoc.SelectSingleNode("user");
84 XmlNodeList xnl=xn.ChildNodes;
85 foreach(XmlNode xnf in xnl)
86 {
87 XmlElement xe=(XmlElement)xnf;
88 // Console.WriteLine(xe.GetAttribute("name"));//显示属性值
89 // Console.WriteLine(xe.GetAttribute("sex"));
90 // // XmlNodeList xnf1=xe.ChildNodes;
91 // foreach(XmlNode xn2 in xnf1) //
92 {
93 // Console.WriteLine(xn2.InnerText);
94 //显示子节点点文本
95 // }
96 }
97 }
98 Xml的样式:
99 <?xml version="1.0" encoding="gb2312"?>
100 <user>
101 <person> </person>
102 <person name="风拉" sex="" age="25">
103 <pass>123</pass>
104 <Address>大明</Address>
105 </person>
106 <person name="风云" sex="" age="25">
107 <pass>123</pass>
108 <Address>昆明</Address>
109 </person>
110 </user>

 

posted @ 2012-03-09 10:32  都市夜归人  阅读(124)  评论(0)    收藏  举报