操作XML文件
Code
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
14 //load xml file
15 private void LoadXml()
16 {
17 xmlDoc=new XmlDocument();
18 xmlDoc.Load(Server.MapPath("User.xml"));
19 }
20
21
22 //添加节点
23 private void AddElement()
24 {
25
26 LoadXml();
27
28 XmlNode xmldocSelect=xmlDoc.SelectSingleNode("user");
29
30 XmlElement el=xmlDoc.CreateElement("person"); //添加person节点
31 el.SetAttribute("name","风云"); //添加person节点的属性"name"
32 el.SetAttribute("sex","女"); //添加person节点的属性 "sex"
33 el.SetAttribute("age","25"); //添加person节点的属性 "age"
34
35 XmlElement xesub1=xmlDoc.CreateElement("pass"); //添加person节点的里的节点
36 xesub1.InnerText="123";//设置文本节点
37 el.AppendChild(xesub1);
38 XmlElement xesub2=xmlDoc.CreateElement("Address");
39 xesub2.InnerText="昆明";//设置文本节点
40 el.AppendChild(xesub2);
41
42 xmldocSelect.AppendChild(el);
43 xmlDoc.Save(Server.MapPath("user.xml"));
44
45
46 }
47
48
49
50
51 //修改节点
52 private void UpdateElement()
53 {
54 LoadXml();
55 XmlNodeList nodeList=xmlDoc.SelectSingleNode("user").ChildNodes;//获取bookstore节点的所有子节点
56 foreach(XmlNode xn in nodeList)//遍历所有子节点
57 {
58 XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
59 if(xe.GetAttribute("name")=="风云")//如果name属性值为“风云”
60 {
61 xe.SetAttribute("name","发明");
62
63
64 //如果下面有子节点在下走
65 XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
66 foreach(XmlNode xn1 in nls)//遍历
67 {
68 XmlElement xe2=(XmlElement)xn1;//转换类型
69 if(xe2.Name=="pass")//如果找到
70 {
71 xe2.InnerText="66666";//则修改
72 break;
73
74 }
75 }
76
77 break;
78 }
79 }
80 xmlDoc.Save(Server.MapPath("user.xml"));//保存
81 }
82
83
84 //删出节点
85 private void deleteNode()
86 {
87
88 LoadXml();
89 XmlNodeList xnl=xmlDoc.SelectSingleNode("user").ChildNodes;
90
91 foreach(XmlNode xn in xnl)
92 {
93 XmlElement xe=(XmlElement)xn;
94
95 if(xe.GetAttribute("name")=="发明")
96 {
97 //xe.RemoveAttribute("name");//删除name属性
98 xe.RemoveAll();//删除该节点的全部内容
99
100
101 break;
102 }
103
104 }
105 xmlDoc.Save(Server.MapPath("user.xml"));//保存
106 }
107
108 private void showIt()
109 {
110 LoadXml();
111 XmlNode xn=xmlDoc.SelectSingleNode("user");
112
113 XmlNodeList xnl=xn.ChildNodes;
114
115 foreach(XmlNode xnf in xnl)
116 {
117 XmlElement xe=(XmlElement)xnf;
118 // Console.WriteLine(xe.GetAttribute("name"));//显示属性值
119 // Console.WriteLine(xe.GetAttribute("sex"));
120 //
121 // XmlNodeList xnf1=xe.ChildNodes;
122 // foreach(XmlNode xn2 in xnf1)
123 // {
124 // Console.WriteLine(xn2.InnerText);//显示子节点点文本
125 // }
126
127 }
128
129 }
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
14 //load xml file
15 private void LoadXml()
16 {
17 xmlDoc=new XmlDocument();
18 xmlDoc.Load(Server.MapPath("User.xml"));
19 }
20
21
22 //添加节点
23 private void AddElement()
24 {
25
26 LoadXml();
27
28 XmlNode xmldocSelect=xmlDoc.SelectSingleNode("user");
29
30 XmlElement el=xmlDoc.CreateElement("person"); //添加person节点
31 el.SetAttribute("name","风云"); //添加person节点的属性"name"
32 el.SetAttribute("sex","女"); //添加person节点的属性 "sex"
33 el.SetAttribute("age","25"); //添加person节点的属性 "age"
34
35 XmlElement xesub1=xmlDoc.CreateElement("pass"); //添加person节点的里的节点
36 xesub1.InnerText="123";//设置文本节点
37 el.AppendChild(xesub1);
38 XmlElement xesub2=xmlDoc.CreateElement("Address");
39 xesub2.InnerText="昆明";//设置文本节点
40 el.AppendChild(xesub2);
41
42 xmldocSelect.AppendChild(el);
43 xmlDoc.Save(Server.MapPath("user.xml"));
44
45
46 }
47
48
49
50
51 //修改节点
52 private void UpdateElement()
53 {
54 LoadXml();
55 XmlNodeList nodeList=xmlDoc.SelectSingleNode("user").ChildNodes;//获取bookstore节点的所有子节点
56 foreach(XmlNode xn in nodeList)//遍历所有子节点
57 {
58 XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
59 if(xe.GetAttribute("name")=="风云")//如果name属性值为“风云”
60 {
61 xe.SetAttribute("name","发明");
62
63
64 //如果下面有子节点在下走
65 XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
66 foreach(XmlNode xn1 in nls)//遍历
67 {
68 XmlElement xe2=(XmlElement)xn1;//转换类型
69 if(xe2.Name=="pass")//如果找到
70 {
71 xe2.InnerText="66666";//则修改
72 break;
73
74 }
75 }
76
77 break;
78 }
79 }
80 xmlDoc.Save(Server.MapPath("user.xml"));//保存
81 }
82
83
84 //删出节点
85 private void deleteNode()
86 {
87
88 LoadXml();
89 XmlNodeList xnl=xmlDoc.SelectSingleNode("user").ChildNodes;
90
91 foreach(XmlNode xn in xnl)
92 {
93 XmlElement xe=(XmlElement)xn;
94
95 if(xe.GetAttribute("name")=="发明")
96 {
97 //xe.RemoveAttribute("name");//删除name属性
98 xe.RemoveAll();//删除该节点的全部内容
99
100
101 break;
102 }
103
104 }
105 xmlDoc.Save(Server.MapPath("user.xml"));//保存
106 }
107
108 private void showIt()
109 {
110 LoadXml();
111 XmlNode xn=xmlDoc.SelectSingleNode("user");
112
113 XmlNodeList xnl=xn.ChildNodes;
114
115 foreach(XmlNode xnf in xnl)
116 {
117 XmlElement xe=(XmlElement)xnf;
118 // Console.WriteLine(xe.GetAttribute("name"));//显示属性值
119 // Console.WriteLine(xe.GetAttribute("sex"));
120 //
121 // XmlNodeList xnf1=xe.ChildNodes;
122 // foreach(XmlNode xn2 in xnf1)
123 // {
124 // Console.WriteLine(xn2.InnerText);//显示子节点点文本
125 // }
126
127 }
128
129 }