我有自己的空间啦! 哈哈,好高兴呀.
我找到的XML 操作的代码:
Code
1using System;
2using System.Data;
3using System.Configuration;
4using System.Linq;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.HtmlControls;
9using System.Web.UI.WebControls;
10using System.Web.UI.WebControls.WebParts;
11using System.Xml.Linq;
12using System.Xml;
13using System.IO;
14
15/**//// <summary>
16/// Summary description for XMLReSovle
17/// </summary>
18public class XMLReSovle
19{
20 public XMLReSovle()
21 {
22 }
23 private XmlDocument xmlDoc = new XmlDocument();
24 private string xmlFileName = null;
25
26 public string FilePath
27 {
28 set { xmlFileName = value; }
29 }
30 //创建XML操作对象
31 public void OpenXML()
32 {
33 xmlDoc.Load(xmlFileName);
34 }
35
36 读取指定节点的指定属性值#region 读取指定节点的指定属性值
37 /**//// <summary>
38 /// 功能:
39 /// 读取指定节点的指定属性值
40 ///
41 /// 参数:
42 /// 参数一:节点名称
43 /// 参数二:此节点的属性
44 /// </summary>
45 /// <param name="strNode"></param>
46 /// <param name="strAttribute"></param>
47 /// <returns></returns>
48 public string GetXmlNodeValue(string strNode, string strAttribute)
49 {
50 string strReturn = "";
51 try
52 {
53 //根据指定路径获取节点
54 XmlNode xmlNode = xmlDoc.SelectSingleNode(strNode);
55
56 //获取节点的属性,并循环取出需要的属性值
57 XmlAttributeCollection xmlAttr = xmlNode.Attributes;
58
59 for (int i = 0; i < xmlAttr.Count; i++)
60 {
61 if (xmlAttr.Item(i).Name == strAttribute)
62 strReturn = xmlAttr.Item(i).Value;
63 }
64 }
65 catch (XmlException xmle)
66 {
67 throw xmle;
68 }
69 return strReturn;
70 }
71 #endregion
72
73 读取指定节点的值#region 读取指定节点的值
74 /**//// <summary>
75 /// 功能:
76 /// 读取指定节点的值
77 ///
78 /// 参数:
79 /// 参数:节点名称
80 /// </summary>
81 /// <param name="strNode"></param>
82 /// <returns></returns>
83 public string GetXmlNodeValue(string strNode)
84 {
85 string strReturn = String.Empty;
86 try
87 {
88 //根据路径获取节点
89 XmlNode xmlNode = xmlDoc.SelectSingleNode(strNode);
90 strReturn = xmlNode.InnerText;
91 }
92 catch (XmlException xmle)
93 {
94 System.Console.WriteLine(xmle.Message);
95 }
96 return strReturn;
97 }
98 #endregion
99
100 设置节点值#region 设置节点值
101 /**//// <summary>
102 /// 功能:
103 /// 设置节点值
104 ///
105 /// 参数:
106 /// 参数一:节点的名称
107 /// 参数二:节点值
108 ///
109 /// </summary>
110 /// <param name="strNode"></param>
111 /// <param name="newValue"></param>
112 public void SetXmlNodeValue(string xmlNodePath, string xmlNodeValue)
113 {
114 try
115 {
116 //根据指定路径获取节点
117 XmlNode xmlNode = xmlDoc.SelectSingleNode(xmlNodePath);
118 //设置节点值
119 xmlNode.InnerText = xmlNodeValue;
120 }
121 catch (XmlException xmle)
122 {
123 throw xmle;
124 }
125 }
126 #endregion
127
128 设置节点的属性值#region 设置节点的属性值
129 /**//// <summary>
130 /// 功能:
131 /// 设置节点的属性值
132 ///
133 /// 参数:
134 /// 参数一:节点名称
135 /// 参数二:属性名称
136 /// 参数三:属性值
137 ///
138 /// </summary>
139 /// <param name="xmlNodePath"></param>
140 /// <param name="xmlNodeAttribute"></param>
141 /// <param name="xmlNodeAttributeValue"></param>
142 public void SetXmlNodeValue(string xmlNodePath, string xmlNodeAttribute, string xmlNodeAttributeValue)
143 {
144 try
145 {
146 //根据指定路径获取节点
147 XmlNode xmlNode = xmlDoc.SelectSingleNode(xmlNodePath);
148
149 //获取节点的属性,并循环取出需要的属性值
150 XmlAttributeCollection xmlAttr = xmlNode.Attributes;
151 for (int i = 0; i < xmlAttr.Count; i++)
152 {
153 if (xmlAttr.Item(i).Name == xmlNodeAttribute)
154 {
155 xmlAttr.Item(i).Value = xmlNodeAttributeValue;
156 break;
157 }
158 }
159 }
160 catch (XmlException xmle)
161 {
162 throw xmle;
163 }
164 }
165 #endregion
166
167
168 /**//// <summary>
169 /// 获取XML文件的根元素
170 /// </summary>
171 public XmlNode GetXmlRoot()
172 {
173 return xmlDoc.DocumentElement;
174 }
175
176 /**//// <summary>
177 /// 在根节点下添加父节点
178 /// </summary>
179 public void AddParentNode(string parentNode)
180 {
181 XmlNode root = GetXmlRoot();
182 XmlNode parentXmlNode = xmlDoc.CreateElement(parentNode);
183
184 root.AppendChild(parentXmlNode);
185 }
186
187 /**//// <summary>
188 /// 向一个已经存在的父节点中插入一个子节点
189 /// </summary>
190 public void AddChildNode(string parentNodePath, string childNodePath)
191 {
192 XmlNode parentXmlNode = xmlDoc.SelectSingleNode(parentNodePath);
193 XmlNode childXmlNode = xmlDoc.CreateElement(childNodePath);
194
195 parentXmlNode.AppendChild(childXmlNode);
196 }
197
198 /**//// <summary>
199 /// 向一个节点添加属性
200 /// </summary>
201 public void AddAttribute(string NodePath, string NodeAttribute)
202 {
203 XmlAttribute nodeAttribute = xmlDoc.CreateAttribute(NodeAttribute);
204 XmlNode nodePath = xmlDoc.SelectSingleNode(NodePath);
205 nodePath.Attributes.Append(nodeAttribute);
206 }
207
208 /**//// <summary>
209 /// 删除一个节点的属性
210 /// </summary>
211 public void DeleteAttribute(string NodePath, string NodeAttribute, string NodeAttributeValue)
212 {
213 XmlNodeList nodePath = xmlDoc.SelectSingleNode(NodePath).ChildNodes;
214
215 foreach (XmlNode xn in nodePath)
216 {
217 XmlElement xe = (XmlElement)xn;
218
219 if (xe.GetAttribute(NodeAttribute) == NodeAttributeValue)
220 {
221 xe.RemoveAttribute(NodeAttribute);//删除属性
222 }
223 }
224 }
225
226 /**//// <summary>
227 /// 删除一个节点
228 /// </summary>
229 /// <param name="tempXmlNode">给定结点</param>
230 public void DeleteXmlNode(string tempXmlNode)
231 {
232 //XmlNodeList xmlNodePath=xmlDoc.SelectSingleNode(tempXmlNode).ChildNodes;
233
234 XmlNode xmlNodePath = xmlDoc.SelectSingleNode(tempXmlNode);
235 xmlNodePath.ParentNode.RemoveChild(xmlNodePath);
236 //foreach(XmlNode xn in xmlNodePath)
237 //{
238 //XmlElement xe=(XmlElement)xn;
239 //xe.RemoveAll();
240 //xe.RemoveChild(xn);
241
242 //xn.RemoveAll();
243
244 //if(xe.HasChildNodes)
245 //{
246
247 //foreach(XmlNode xn in xe)
248 //{
249
250 //xn.RemoveAll();//删除所有子节点和属性
251 //}
252 //}
253
254 //}
255
256 }
257
258 保存XML文件#region 保存XML文件
259 /**//// <summary>
260 /// 功能:
261 /// 保存XML文件
262 /// </summary>
263 public void SaveXmlDocument()
264 {
265 try
266 {
267 //保存设置的结果
268 xmlDoc.Save(xmlFileName);
269 }
270 catch (XmlException xmle)
271 {
272 throw xmle;
273 }
274 }
275 #endregion
276
277 保存XML文件#region 保存XML文件
278 /**//// <summary>
279 /// 功能:
280 /// 保存XML文件
281 /// </summary>
282 public void SaveXmlDocument(string tempXMLFilePath)
283 {
284 try
285 {
286 //保存设置的结果
287 xmlDoc.Save(tempXMLFilePath);
288 }
289 catch (XmlException xmle)
290 {
291 throw xmle;
292 }
293 }
294 #endregion
295
296 创建一个XML 文件#region 创建一个XML 文件
297 public bool CreateXMLFile(string xPath)
298 {
299 FileStream file = new FileStream("~/aaa.xml", FileMode.Create);
300 }
301 #endregion
302}
1using System;
2using System.Data;
3using System.Configuration;
4using System.Linq;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.HtmlControls;
9using System.Web.UI.WebControls;
10using System.Web.UI.WebControls.WebParts;
11using System.Xml.Linq;
12using System.Xml;
13using System.IO;
14
15/**//// <summary>
16/// Summary description for XMLReSovle
17/// </summary>
18public class XMLReSovle
19{
20 public XMLReSovle()
21 {
22 }
23 private XmlDocument xmlDoc = new XmlDocument();
24 private string xmlFileName = null;
25
26 public string FilePath
27 {
28 set { xmlFileName = value; }
29 }
30 //创建XML操作对象
31 public void OpenXML()
32 {
33 xmlDoc.Load(xmlFileName);
34 }
35
36 读取指定节点的指定属性值#region 读取指定节点的指定属性值
37 /**//// <summary>
38 /// 功能:
39 /// 读取指定节点的指定属性值
40 ///
41 /// 参数:
42 /// 参数一:节点名称
43 /// 参数二:此节点的属性
44 /// </summary>
45 /// <param name="strNode"></param>
46 /// <param name="strAttribute"></param>
47 /// <returns></returns>
48 public string GetXmlNodeValue(string strNode, string strAttribute)
49 {
50 string strReturn = "";
51 try
52 {
53 //根据指定路径获取节点
54 XmlNode xmlNode = xmlDoc.SelectSingleNode(strNode);
55
56 //获取节点的属性,并循环取出需要的属性值
57 XmlAttributeCollection xmlAttr = xmlNode.Attributes;
58
59 for (int i = 0; i < xmlAttr.Count; i++)
60 {
61 if (xmlAttr.Item(i).Name == strAttribute)
62 strReturn = xmlAttr.Item(i).Value;
63 }
64 }
65 catch (XmlException xmle)
66 {
67 throw xmle;
68 }
69 return strReturn;
70 }
71 #endregion
72
73 读取指定节点的值#region 读取指定节点的值
74 /**//// <summary>
75 /// 功能:
76 /// 读取指定节点的值
77 ///
78 /// 参数:
79 /// 参数:节点名称
80 /// </summary>
81 /// <param name="strNode"></param>
82 /// <returns></returns>
83 public string GetXmlNodeValue(string strNode)
84 {
85 string strReturn = String.Empty;
86 try
87 {
88 //根据路径获取节点
89 XmlNode xmlNode = xmlDoc.SelectSingleNode(strNode);
90 strReturn = xmlNode.InnerText;
91 }
92 catch (XmlException xmle)
93 {
94 System.Console.WriteLine(xmle.Message);
95 }
96 return strReturn;
97 }
98 #endregion
99
100 设置节点值#region 设置节点值
101 /**//// <summary>
102 /// 功能:
103 /// 设置节点值
104 ///
105 /// 参数:
106 /// 参数一:节点的名称
107 /// 参数二:节点值
108 ///
109 /// </summary>
110 /// <param name="strNode"></param>
111 /// <param name="newValue"></param>
112 public void SetXmlNodeValue(string xmlNodePath, string xmlNodeValue)
113 {
114 try
115 {
116 //根据指定路径获取节点
117 XmlNode xmlNode = xmlDoc.SelectSingleNode(xmlNodePath);
118 //设置节点值
119 xmlNode.InnerText = xmlNodeValue;
120 }
121 catch (XmlException xmle)
122 {
123 throw xmle;
124 }
125 }
126 #endregion
127
128 设置节点的属性值#region 设置节点的属性值
129 /**//// <summary>
130 /// 功能:
131 /// 设置节点的属性值
132 ///
133 /// 参数:
134 /// 参数一:节点名称
135 /// 参数二:属性名称
136 /// 参数三:属性值
137 ///
138 /// </summary>
139 /// <param name="xmlNodePath"></param>
140 /// <param name="xmlNodeAttribute"></param>
141 /// <param name="xmlNodeAttributeValue"></param>
142 public void SetXmlNodeValue(string xmlNodePath, string xmlNodeAttribute, string xmlNodeAttributeValue)
143 {
144 try
145 {
146 //根据指定路径获取节点
147 XmlNode xmlNode = xmlDoc.SelectSingleNode(xmlNodePath);
148
149 //获取节点的属性,并循环取出需要的属性值
150 XmlAttributeCollection xmlAttr = xmlNode.Attributes;
151 for (int i = 0; i < xmlAttr.Count; i++)
152 {
153 if (xmlAttr.Item(i).Name == xmlNodeAttribute)
154 {
155 xmlAttr.Item(i).Value = xmlNodeAttributeValue;
156 break;
157 }
158 }
159 }
160 catch (XmlException xmle)
161 {
162 throw xmle;
163 }
164 }
165 #endregion
166
167
168 /**//// <summary>
169 /// 获取XML文件的根元素
170 /// </summary>
171 public XmlNode GetXmlRoot()
172 {
173 return xmlDoc.DocumentElement;
174 }
175
176 /**//// <summary>
177 /// 在根节点下添加父节点
178 /// </summary>
179 public void AddParentNode(string parentNode)
180 {
181 XmlNode root = GetXmlRoot();
182 XmlNode parentXmlNode = xmlDoc.CreateElement(parentNode);
183
184 root.AppendChild(parentXmlNode);
185 }
186
187 /**//// <summary>
188 /// 向一个已经存在的父节点中插入一个子节点
189 /// </summary>
190 public void AddChildNode(string parentNodePath, string childNodePath)
191 {
192 XmlNode parentXmlNode = xmlDoc.SelectSingleNode(parentNodePath);
193 XmlNode childXmlNode = xmlDoc.CreateElement(childNodePath);
194
195 parentXmlNode.AppendChild(childXmlNode);
196 }
197
198 /**//// <summary>
199 /// 向一个节点添加属性
200 /// </summary>
201 public void AddAttribute(string NodePath, string NodeAttribute)
202 {
203 XmlAttribute nodeAttribute = xmlDoc.CreateAttribute(NodeAttribute);
204 XmlNode nodePath = xmlDoc.SelectSingleNode(NodePath);
205 nodePath.Attributes.Append(nodeAttribute);
206 }
207
208 /**//// <summary>
209 /// 删除一个节点的属性
210 /// </summary>
211 public void DeleteAttribute(string NodePath, string NodeAttribute, string NodeAttributeValue)
212 {
213 XmlNodeList nodePath = xmlDoc.SelectSingleNode(NodePath).ChildNodes;
214
215 foreach (XmlNode xn in nodePath)
216 {
217 XmlElement xe = (XmlElement)xn;
218
219 if (xe.GetAttribute(NodeAttribute) == NodeAttributeValue)
220 {
221 xe.RemoveAttribute(NodeAttribute);//删除属性
222 }
223 }
224 }
225
226 /**//// <summary>
227 /// 删除一个节点
228 /// </summary>
229 /// <param name="tempXmlNode">给定结点</param>
230 public void DeleteXmlNode(string tempXmlNode)
231 {
232 //XmlNodeList xmlNodePath=xmlDoc.SelectSingleNode(tempXmlNode).ChildNodes;
233
234 XmlNode xmlNodePath = xmlDoc.SelectSingleNode(tempXmlNode);
235 xmlNodePath.ParentNode.RemoveChild(xmlNodePath);
236 //foreach(XmlNode xn in xmlNodePath)
237 //{
238 //XmlElement xe=(XmlElement)xn;
239 //xe.RemoveAll();
240 //xe.RemoveChild(xn);
241
242 //xn.RemoveAll();
243
244 //if(xe.HasChildNodes)
245 //{
246
247 //foreach(XmlNode xn in xe)
248 //{
249
250 //xn.RemoveAll();//删除所有子节点和属性
251 //}
252 //}
253
254 //}
255
256 }
257
258 保存XML文件#region 保存XML文件
259 /**//// <summary>
260 /// 功能:
261 /// 保存XML文件
262 /// </summary>
263 public void SaveXmlDocument()
264 {
265 try
266 {
267 //保存设置的结果
268 xmlDoc.Save(xmlFileName);
269 }
270 catch (XmlException xmle)
271 {
272 throw xmle;
273 }
274 }
275 #endregion
276
277 保存XML文件#region 保存XML文件
278 /**//// <summary>
279 /// 功能:
280 /// 保存XML文件
281 /// </summary>
282 public void SaveXmlDocument(string tempXMLFilePath)
283 {
284 try
285 {
286 //保存设置的结果
287 xmlDoc.Save(tempXMLFilePath);
288 }
289 catch (XmlException xmle)
290 {
291 throw xmle;
292 }
293 }
294 #endregion
295
296 创建一个XML 文件#region 创建一个XML 文件
297 public bool CreateXMLFile(string xPath)
298 {
299 FileStream file = new FileStream("~/aaa.xml", FileMode.Create);
300 }
301 #endregion
302}
大家觉得好的话,就请多多支持呀.哈哈.