C#操作xml文件
using System;
2 using System.Collections;
3
using System.Configuration;
4
using System.Data;
5
using System.Linq;
6
using System.Web;
7
using System.Web.Security;
8
using System.Web.UI;
9
using System.Web.UI.HtmlControls;
10
using System.Web.UI.WebControls;
11
using System.Web.UI.WebControls.WebParts;
12
using System.Xml.Linq;
13
using System.Data.SqlClient;
14
using System.Xml;
15
16
public partial class OperateXmlFile : System.Web.UI.Page
17
{
18
SqlConnection sqlConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ForTestConn"].ConnectionString);
19
protected void Page_Load(object sender, EventArgs e)
20
{
21
22
}
23
24
protected void WriteXML()
25
{
26
string strSQL = "SELECT TOP 5 * FROM TestUser";
27
28
SqlDataAdapter sqlSDR = new SqlDataAdapter(strSQL, sqlConn);
29
DataSet ds = new DataSet();
30
sqlSDR.Fill(ds, "user");
31
32
//ReadXml方法
33
//ds.ReadXml(Server.MapPath("XMLFile.xml"));
34
35
//this.GridView1.DataSource = ds;
36
//this.GridView1.DataBind();
37
38
//GetXml方法
39
//Response.Write(ds.GetXml());
40
41
//WriteXml方法
42
//ds.WriteXml(Server.MapPath("XMLFile.xml"));
43
44
XmlDocument xmlDoc = new XmlDocument();
45
xmlDoc.Load(Server.MapPath("XMLFile.xml"));
46
47
XmlNode root = xmlDoc.SelectSingleNode("users");
48
49
foreach (DataRow row in ds.Tables[0].Rows)
50
{
51
XmlElement xeUser = xmlDoc.CreateElement("user");
52
53
XmlElement xeUserName = xmlDoc.CreateElement("UserName");
54
xeUserName.InnerText = row["UserName"].ToString();
55
XmlElement xePassword = xmlDoc.CreateElement("Password");
56
xePassword.InnerText = row["Password"].ToString();
57
58
xeUser.AppendChild(xeUserName);
59
xeUser.AppendChild(xePassword);
60
61
root.AppendChild(xeUser);
62
}
63
64
xmlDoc.Save(Server.MapPath("XMLFile.xml"));
65
66
}
67
68
//增
69
protected void btnWriteXml_Click(object sender, EventArgs e)
70
{
71
XmlDocument xmlDoc = new XmlDocument();
72
xmlDoc.Load(Server.MapPath("XMLFile.xml"));
73
74
XmlNode root = xmlDoc.SelectSingleNode("users");
75
76
XmlElement xeUser = xmlDoc.CreateElement("user");
77
xeUser.SetAttribute("sex", "男");
78
79
XmlElement xeUserName = xmlDoc.CreateElement("UserName");
80
xeUserName.InnerText = "ZhuGuang";
81
XmlElement xePassword = xmlDoc.CreateElement("Password");
82
xePassword.InnerText = "MIMA";
83
84
xeUser.AppendChild(xeUserName);
85
xeUser.AppendChild(xePassword);
86
87
root.AppendChild(xeUser);
88
89
xmlDoc.Save(Server.MapPath("XMLFile.xml"));
90
}
91
92
//查
93
protected void btnReadXml_Click(object sender, EventArgs e)
94
{
95
XmlDocument xmlDoc = new XmlDocument();
96
xmlDoc.Load(Server.MapPath("XMLFile.xml"));
97
98
XmlNode root = xmlDoc.SelectSingleNode("users");
99
100
XmlNodeList xnlRoot = root.ChildNodes;
101
102
foreach (XmlNode xn in xnlRoot)
103
{
104
XmlElement xe = (XmlElement)xn;
105
Response.Write(xe.GetAttribute("sex") + "<br/>");
106
107
XmlNodeList xnlUser = xn.ChildNodes;
108
109
foreach(XmlNode xn1 in xnlUser)
110
{
111
Response.Write(xn1.InnerText + "<br/>");
112
}
113
}
114
}
115
116
//删
117
protected void btnDeleteXmlNode_Click(object sender, EventArgs e)
118
{
119
XmlDocument xmlDoc = new XmlDocument();
120
xmlDoc.Load(Server.MapPath("XMLFile.xml"));
121
122
XmlNodeList xnl = xmlDoc.SelectSingleNode("users").ChildNodes;
123
124
foreach (XmlNode xn in xnl)
125
{
126
XmlElement xe = (XmlElement)xn;
127
if (xe.GetAttribute("sex") == "男1")
128
{
129
xe.RemoveAttribute("sex");
130
//xe.RemoveAllAttributes();
131
}
132
if (xe.GetAttribute("sex") == "男2")
133
{
134
xe.RemoveAll();
135
}
136
}
137
xmlDoc.Save(Server.MapPath("XMLFile.xml"));
138
}
139
140
//改
141
protected void btnUpdateXmlNode_Click(object sender, EventArgs e)
142
{
143
XmlDocument xmlDoc = new XmlDocument();
144
xmlDoc.Load(Server.MapPath("XMLFile.xml"));
145
146
XmlNodeList xnl = xmlDoc.SelectSingleNode("users").ChildNodes;
147
148
foreach (XmlNode xn in xnl)
149
{
150
XmlElement xe = (XmlElement)xn;
151
if (xe.GetAttribute("sex") == "男1")
152
{
153
xe.SetAttribute("sex", "男男");
154
}
155
if (xe.GetAttribute("sex") == "男2")
156
{
157
XmlNodeList xnl1 = xe.ChildNodes;
158
foreach (XmlNode xn1 in xnl1)
159
{
160
XmlElement xe1 = (XmlElement)xn1;
161
if (xe1.Name == "UserName")
162
{
163
xe1.InnerText = "更新成功";
164
}
165
}
166
}
167
}
168
xmlDoc.Save(Server.MapPath("XMLFile.xml"));
169
}
170
171
172
}
173
2 using System.Collections;
3
using System.Configuration;4
using System.Data;5
using System.Linq;6
using System.Web;7
using System.Web.Security;8
using System.Web.UI;9
using System.Web.UI.HtmlControls;10
using System.Web.UI.WebControls;11
using System.Web.UI.WebControls.WebParts;12
using System.Xml.Linq;13
using System.Data.SqlClient;14
using System.Xml;15

16
public partial class OperateXmlFile : System.Web.UI.Page17
{18
SqlConnection sqlConn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ForTestConn"].ConnectionString);19
protected void Page_Load(object sender, EventArgs e)20
{21
22
}23

24
protected void WriteXML()25
{26
string strSQL = "SELECT TOP 5 * FROM TestUser";27

28
SqlDataAdapter sqlSDR = new SqlDataAdapter(strSQL, sqlConn);29
DataSet ds = new DataSet();30
sqlSDR.Fill(ds, "user");31

32
//ReadXml方法33
//ds.ReadXml(Server.MapPath("XMLFile.xml"));34

35
//this.GridView1.DataSource = ds;36
//this.GridView1.DataBind();37

38
//GetXml方法39
//Response.Write(ds.GetXml());40

41
//WriteXml方法42
//ds.WriteXml(Server.MapPath("XMLFile.xml"));43

44
XmlDocument xmlDoc = new XmlDocument();45
xmlDoc.Load(Server.MapPath("XMLFile.xml"));46

47
XmlNode root = xmlDoc.SelectSingleNode("users");48

49
foreach (DataRow row in ds.Tables[0].Rows)50
{51
XmlElement xeUser = xmlDoc.CreateElement("user");52

53
XmlElement xeUserName = xmlDoc.CreateElement("UserName");54
xeUserName.InnerText = row["UserName"].ToString();55
XmlElement xePassword = xmlDoc.CreateElement("Password");56
xePassword.InnerText = row["Password"].ToString();57

58
xeUser.AppendChild(xeUserName);59
xeUser.AppendChild(xePassword);60

61
root.AppendChild(xeUser);62
}63

64
xmlDoc.Save(Server.MapPath("XMLFile.xml"));65

66
}67

68
//增69
protected void btnWriteXml_Click(object sender, EventArgs e)70
{71
XmlDocument xmlDoc = new XmlDocument();72
xmlDoc.Load(Server.MapPath("XMLFile.xml"));73

74
XmlNode root = xmlDoc.SelectSingleNode("users");75

76
XmlElement xeUser = xmlDoc.CreateElement("user");77
xeUser.SetAttribute("sex", "男");78

79
XmlElement xeUserName = xmlDoc.CreateElement("UserName");80
xeUserName.InnerText = "ZhuGuang";81
XmlElement xePassword = xmlDoc.CreateElement("Password");82
xePassword.InnerText = "MIMA";83

84
xeUser.AppendChild(xeUserName);85
xeUser.AppendChild(xePassword);86

87
root.AppendChild(xeUser);88

89
xmlDoc.Save(Server.MapPath("XMLFile.xml"));90
}91

92
//查93
protected void btnReadXml_Click(object sender, EventArgs e)94
{95
XmlDocument xmlDoc = new XmlDocument();96
xmlDoc.Load(Server.MapPath("XMLFile.xml"));97

98
XmlNode root = xmlDoc.SelectSingleNode("users");99

100
XmlNodeList xnlRoot = root.ChildNodes;101

102
foreach (XmlNode xn in xnlRoot)103
{104
XmlElement xe = (XmlElement)xn;105
Response.Write(xe.GetAttribute("sex") + "<br/>");106

107
XmlNodeList xnlUser = xn.ChildNodes;108

109
foreach(XmlNode xn1 in xnlUser)110
{111
Response.Write(xn1.InnerText + "<br/>");112
}113
}114
}115

116
//删117
protected void btnDeleteXmlNode_Click(object sender, EventArgs e)118
{119
XmlDocument xmlDoc = new XmlDocument();120
xmlDoc.Load(Server.MapPath("XMLFile.xml"));121

122
XmlNodeList xnl = xmlDoc.SelectSingleNode("users").ChildNodes;123

124
foreach (XmlNode xn in xnl)125
{126
XmlElement xe = (XmlElement)xn;127
if (xe.GetAttribute("sex") == "男1")128
{129
xe.RemoveAttribute("sex");130
//xe.RemoveAllAttributes();131
}132
if (xe.GetAttribute("sex") == "男2")133
{134
xe.RemoveAll();135
}136
}137
xmlDoc.Save(Server.MapPath("XMLFile.xml"));138
}139

140
//改141
protected void btnUpdateXmlNode_Click(object sender, EventArgs e)142
{143
XmlDocument xmlDoc = new XmlDocument();144
xmlDoc.Load(Server.MapPath("XMLFile.xml"));145

146
XmlNodeList xnl = xmlDoc.SelectSingleNode("users").ChildNodes;147

148
foreach (XmlNode xn in xnl)149
{150
XmlElement xe = (XmlElement)xn;151
if (xe.GetAttribute("sex") == "男1")152
{153
xe.SetAttribute("sex", "男男");154
}155
if (xe.GetAttribute("sex") == "男2")156
{157
XmlNodeList xnl1 = xe.ChildNodes;158
foreach (XmlNode xn1 in xnl1)159
{160
XmlElement xe1 = (XmlElement)xn1;161
if (xe1.Name == "UserName")162
{163
xe1.InnerText = "更新成功";164
}165
}166
}167
}168
xmlDoc.Save(Server.MapPath("XMLFile.xml"));169
}170

171

172
}173
在页面上response XML字符串的话:Response.Write(Server.HtmlEncode(xmlstr))
代码中注释的地方有,Dataset为我们提供的读取和写入xml文件的方法。


浙公网安备 33010602011771号