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