.net操纵xml文件类(c#)
点击次数:21 次 发布日期:2008-11-26 12:35:54 作者:源代码网
|
源代码网推荐 // 源代码网推荐 在此类中用到了XML事件.此类中对于节点的查找必需用xpath表达式,如果你对xpath表达式不了解可以查看我收藏的另外一篇文章:+XML文件操作:[学习xpath]XPath最通俗的教程+ 源代码网推荐 源代码网推荐 1using System; 源代码网推荐 2using System.Xml; 源代码网推荐 3using System.Web; 源代码网推荐 4namespace solucky 源代码网推荐 5{ 源代码网推荐 6 /**//// <summary> 源代码网推荐 7 /// 必需用XPATH表达式来获取相应节点 源代码网推荐 8 /// 关于xpath可以参见: 源代码网推荐 9 /// </summary> 源代码网推荐 10 public class MyXml 源代码网推荐 11 { 源代码网推荐 12 变量#region 变量 源代码网推荐 13 /**//// <summary> 源代码网推荐 14 /// xml文件所在路径类型 源代码网推荐 15 /// </summary> 源代码网推荐 16 /// <remarks>xml文件所在路径类型</remarks> 源代码网推荐 17 public enum enumXmlPathType 源代码网推荐 18 { 源代码网推荐 19 /**//// <summary> 源代码网推荐 20 /// 绝对路径 源代码网推荐 21 /// </summary> 源代码网推荐 22 AbsolutePath, 源代码网推荐 23 /**//// <summary> 源代码网推荐 24 /// 虚拟路径 源代码网推荐 25 /// </summary> 源代码网推荐 26 VirtualPath 源代码网推荐 27 } 源代码网推荐 28 源代码网推荐 29 private string xmlFilePath ; 源代码网推荐 30 private enumXmlPathType xmlFilePathType ; 源代码网推荐 31 private XmlDocument xmlDoc = new XmlDocument() ; 源代码网推荐 32 #endregion 源代码网推荐 33 源代码网推荐 34 源代码网推荐 35 属性#region 属性 源代码网推荐 36 /**//// <summary> 源代码网推荐 37 /// 文件路径 源代码网推荐 38 /// </summary> 源代码网推荐 39 /// <remarks>文件路径</remarks> 源代码网推荐 40 public string XmlFilePath 源代码网推荐 41 { 源代码网推荐 42 get 源代码网推荐 43 { 源代码网推荐 44 return this.xmlFilePath; 源代码网推荐 45 } 源代码网推荐 46 set 源代码网推荐 47 { 源代码网推荐 48 xmlFilePath = value ; 源代码网推荐 49 源代码网推荐 50 } 源代码网推荐 51 } 源代码网推荐 52 源代码网推荐 53 /**//// <summary> 源代码网推荐 54 /// 文件路径类型 源代码网推荐 55 /// </summary> 源代码网推荐 56 public enumXmlPathType XmlFilePathTyp 源代码网推荐 57 { 源代码网推荐 58 set 源代码网推荐 59 { 源代码网推荐 60 xmlFilePathType = value ; 源代码网推荐 61 } 源代码网推荐 62 } 源代码网推荐 63 #endregion 源代码网推荐 64 源代码网推荐 65 构造函数#region 构造函数 源代码网推荐 66 /**//// <summary> 源代码网推荐 67 /// 源代码网推荐 68 /// </summary> 源代码网推荐 69 /// <param name="tempXmlFilePath"></param> 源代码网推荐 70 public MyXml( string tempXmlFilePath ) 源代码网推荐 71 { 源代码网推荐 72 // 源代码网推荐 73 // TODO: 在此处添加构造函数逻辑 源代码网推荐 74 // 源代码网推荐 75 源代码网推荐 76 this.xmlFilePathType = enumXmlPathType.VirtualPath ; 源代码网推荐 77 this.xmlFilePath = tempXmlFilePath ; 源代码网推荐 78 GetXmlDocument() ; 源代码网推荐 79 //xmlDoc.Load( xmlFilePath ) ; 源代码网推荐 80 } 源代码网推荐 81 源代码网推荐 82 /**//// <summary> 源代码网推荐 83 /// 构造函数 源代码网推荐 84 /// </summary> 源代码网推荐 85 /// <param name="tempXmlFilePath">文件路径</param> 源代码网推荐 86 /// <param name="tempXmlFilePathType">类型</param> 源代码网推荐 87 public MyXml( string tempXmlFilePath , enumXmlPathType tempXmlFilePathType ) 源代码网推荐 88 { 源代码网推荐 89 // 源代码网推荐 90 // TODO: 在此处添加构造函数逻辑 源代码网推荐 91 // 源代码网推荐 92 this.xmlFilePathType = tempXmlFilePathType ; 源代码网推荐 93 this.xmlFilePath = tempXmlFilePath ; 源代码网推荐 94 GetXmlDocument() ; 源代码网推荐 95 } 源代码网推荐 96 #endregion 源代码网推荐 97 源代码网推荐 98 源代码网推荐 99 /**////<summary> 源代码网推荐 100 ///获取XmlDocument实体类 源代码网推荐 101 ///</summary> 源代码网推荐 102 /// <returns>指定的XML描述文件的一个xmldocument实例</returns> 源代码网推荐 103 private XmlDocument GetXmlDocument() 源代码网推荐 104 { 源代码网推荐 105 XmlDocument doc=null; 源代码网推荐 106 源代码网推荐 107 if( this.xmlFilePathType == enumXmlPathType.AbsolutePath ) 源代码网推荐 108 { 源代码网推荐 109 doc = GetXmlDocumentFromFile( xmlFilePath ) ; 源代码网推荐 110 } 源代码网推荐 111 else if( this.xmlFilePathType == enumXmlPathType.VirtualPath ) 源代码网推荐 112 { 源代码网推荐 113 doc = GetXmlDocumentFromFile(HttpContext.Current.Server.MapPath(xmlFilePath)) ; 源代码网推荐 114 } 源代码网推荐 115 return doc; 源代码网推荐 116 } 源代码网推荐 117 源代码网推荐 118 private XmlDocument GetXmlDocumentFromFile(string tempXmlFilePath) 源代码网推荐 119 { 源代码网推荐 120 string xmlFileFullPath = tempXmlFilePath ; 源代码网推荐 121 xmlDoc.Load(xmlFileFullPath) ; 源代码网推荐 122 //定义事件处理 源代码网推荐 123 xmlDoc.NodeChanged += new XmlNodeChangedEventHandler(this.nodeUpdateEvent); 源代码网推荐 124 xmlDoc.NodeInserted += new XmlNodeChangedEventHandler(this.nodeInsertEvent); 源代码网推荐 125 xmlDoc.NodeRemoved += new XmlNodeChangedEventHandler(this.nodeDeleteEvent); 源代码网推荐 126 return xmlDoc ; 源代码网推荐 127 } 源代码网推荐 128 源代码网推荐 129 读取指定节点的指定属性值#region 读取指定节点的指定属性值 源代码网推荐 130 /**//// <summary> 源代码网推荐 131 /// 功能: 源代码网推荐 132 /// 读取指定节点的指定属性值 源代码网推荐 133 /// </summary> 源代码网推荐 134 /// <param name="strNode">节点名称</param> 源代码网推荐 135 /// <param name="strAttribute">此节点的属性</param> 源代码网推荐 136 /// <returns></returns> 源代码网推荐 137 public string GetXmlNodeAttributeValue(string strNode,string strAttribute) 源代码网推荐 138 { 源代码网推荐 139 string strReturn = ""; 源代码网推荐 140 try 源代码网推荐 141 { 源代码网推荐 142 //根据指定路径获取节点 源代码网推荐 143 XmlNode xmlNode = xmlDoc.SelectSingleNode(strNode) ; 源代码网推荐 144 if (!(xmlNode==null)) 源代码网推荐 145 {//获取节点的属性,并循环取出需要的属性值 源代码网推荐 146 XmlAttributeCollection xmlAttr = xmlNode.Attributes ; 源代码网推荐 147 源代码网推荐 148 for(int i=0 ;i<xmlAttr.Count; i++) 源代码网推荐 149 { 源代码网推荐 150 if (xmlAttr.Item(i).Name == strAttribute) 源代码网推荐 151 { 源代码网推荐 152 strReturn = xmlAttr.Item(i).Value ; 源代码网推荐 153 break; 源代码网推荐 154 } 源代码网推荐 155 } 源代码网推荐 156 } 源代码网推荐 157 } 源代码网推荐 158 catch(XmlException xmle) 源代码网推荐 159 { 源代码网推荐 160 throw xmle ; 源代码网推荐 161 } 源代码网推荐 162 return strReturn ; 源代码网推荐 163 } 源代码网推荐 164 #endregion 源代码网推荐 165 源代码网推荐 166 源代码网推荐 167 读取指定节点的值#region 读取指定节点的值 源代码网推荐 168 /**//// <summary> 源代码网推荐 169 /// 功能: 源代码网推荐 170 /// 读取指定节点的值 源代码网推荐 171 /// </summary> 源代码网推荐 172 /// <param name="strNode">节点名称</param> 源代码网推荐 173 /// <returns></returns> 源代码网推荐 174 public string GetXmlNodeValue(string strNode) 源代码网推荐 175 { 源代码网推荐 176 string strReturn = String.Empty ; 源代码网推荐 177 源代码网推荐 178 try 源代码网推荐 179 { 源代码网推荐 180 //根据路径获取节点 源代码网推荐 181 XmlNode xmlNode = xmlDoc.SelectSingleNode(strNode) ; 源代码网推荐 182 if (!(xmlNode==null)) 源代码网推荐 183 strReturn = xmlNode.InnerText ; 源代码网推荐 184 } 源代码网推荐 185 catch(XmlException xmle) 源代码网推荐 186 { 源代码网推荐 187 throw xmle ; 源代码网推荐 188 } 源代码网推荐 189 return strReturn ; 源代码网推荐 190 } 源代码网推荐 191 #endregion 源代码网推荐 192 源代码网推荐 193 设置节点值#region 设置节点值 源代码网推荐 194 /**//// <summary> 源代码网推荐 195 /// 功能: 源代码网推荐 196 /// 设置节点值 源代码网推荐 197 /// </summary> 源代码网推荐 198 /// <param name="strNode">节点的名称</param> 源代码网推荐 199 /// <param name="newValue">节点值</param> 源代码网推荐 200 public void SetXmlNodeValue(string xmlNodePath,string xmlNodeValue) 源代码网推荐 201 { 源代码网推荐 202 try 源代码网推荐 203 { 源代码网推荐 204 //可以批量为符合条件的节点进行付值 源代码网推荐 205 XmlNodeList xmlNode=this.xmlDoc.SelectNodes(xmlNodePath); 源代码网推荐 206 if (!(xmlNode==null)) 源代码网推荐 207 { 源代码网推荐 208 foreach(XmlNode xn in xmlNode) 源代码网推荐 209 { 源代码网推荐 210 xn.InnerText = xmlNodeValue ; 源代码网推荐 211 } 源代码网推荐 212 } 源代码网推荐 213 /**//* 源代码网推荐 214 * 根据指定路径获取节点 源代码网推荐 215 XmlNode xmlNode = xmlDoc.SelectSingleNode(xmlNodePath) ; 源代码网推荐 216 //设置节点值 源代码网推荐 217 if (!(xmlNode==null)) 源代码网推荐 218 xmlNode.InnerText = xmlNodeValue ;*/ 源代码网推荐 219 } 源代码网推荐 220 catch(XmlException xmle) 源代码网推荐 221 { 源代码网推荐 222 throw xmle ; 源代码网推荐 223 } 源代码网推荐 224 } 源代码网推荐 225 #endregion 源代码网推荐 226 源代码网推荐 227 设置节点的属性值#region 设置节点的属性值 源代码网推荐 228 /**//// <summary> 源代码网推荐 229 /// 功能: 源代码网推荐 230 /// 设置节点的属性值 源代码网推荐 231 /// </summary> 源代码网推荐 232 /// <param name="xmlNodePath">节点名称</param> 源代码网推荐 233 /// <param name="xmlNodeAttribute">属性名称</param> 源代码网推荐 234 /// <param name="xmlNodeAttributeValue">属性值</param> 源代码网推荐 235 public void SetXmlNodeAttributeValue(string xmlNodePath,string xmlNodeAttribute,string xmlNodeAttributeValue) 源代码网推荐 236 { 源代码网推荐 237 try 源代码网推荐 238 { 源代码网推荐 239 //可以批量为符合条件的节点的属性付值 源代码网推荐 240 XmlNodeList xmlNode=this.xmlDoc.SelectNodes(xmlNodePath); 源代码网推荐 241 if (!(xmlNode==null)) 源代码网推荐 242 { 源代码网推荐 243 foreach(XmlNode xn in xmlNode) 源代码网推荐 244 { 源代码网推荐 245 XmlAttributeCollection xmlAttr = xn.Attributes ; 源代码网推荐 246 for(int i=0 ; i<xmlAttr.Count ; i++) 源代码网推荐 247 { 源代码网推荐 248 if ( xmlAttr.Item(i).Name == xmlNodeAttribute ) 源代码网推荐 249 { 源代码网推荐 250 xmlAttr.Item(i).Value = xmlNodeAttributeValue; 源代码网推荐 251 break ; 源代码网推荐 252 } 源代码网推荐 253 } 源代码网推荐 254 } 源代码网推荐 255 } 源代码网推荐 256 /**//*单个节点 源代码网推荐 257 //根据指定路径获取节点 源代码网推荐 258 XmlNode xmlNode = xmlDoc.SelectSingleNode(xmlNodePath) ; 源代码网推荐 259 if (!(xmlNode==null)) 源代码网推荐 260 {//获取节点的属性,并循环取出需要的属性值 源代码网推荐 261 XmlAttributeCollection xmlAttr = xmlNode.Attributes ; 源代码网推荐 262 for(int i=0 ; i<xmlAttr.Count ; i++) 源代码网推荐 263 { 源代码网推荐 264 if ( xmlAttr.Item(i).Name == xmlNodeAttribute ) 源代码网推荐 265 { 源代码网推荐 266 xmlAttr.Item(i).Value = xmlNodeAttributeValue; 源代码网推荐 267 break ; 源代码网推荐 268 } 源代码网推荐 269 } 源代码网推荐 270 } 源代码网推荐 271 */ 源代码网推荐 272 } 源代码网推荐 273 catch(XmlException xmle) 源代码网推荐 274 { 源代码网推荐 275 throw xmle ; 源代码网推荐 276 } 源代码网推荐 277 } 源代码网推荐 278 #endregion 源代码网推荐 279 源代码网推荐 280 添加#region 添加 源代码网推荐 281 /**//// <summary> 源代码网推荐 282 /// 获取XML文件的根元素 源代码网推荐 283 /// </summary> 源代码网推荐 284 public XmlNode GetXmlRoot() 源代码网推荐 285 { 源代码网推荐 286 return xmlDoc.DocumentElement ; 源代码网推荐 287 } 源代码网推荐 288 源代码网推荐 289 /**//// <summary> 源代码网推荐 290 /// 在根节点下添加父节点 源代码网推荐 291 /// </summary> 源代码网推荐 292 public void AddParentNode(string parentNode) 源代码网推荐 293 { 源代码网推荐 294 try 源代码网推荐 295 { 源代码网推荐 296 XmlNode root = GetXmlRoot() ; 源代码网推荐 297 XmlNode parentXmlNode = xmlDoc.CreateElement(parentNode) ; 源代码网推荐 298 root.AppendChild(parentXmlNode) ; 源代码网推荐 299 } 源代码网推荐 300 catch(XmlException xmle) 源代码网推荐 301 { 源代码网推荐 302 throw xmle ; 源代码网推荐 303 } 源代码网推荐 304 } 源代码网推荐 305 源代码网推荐 306 /**//// <summary> 源代码网推荐 307 /// 向一个已经存在的父节点中插入一个子节点 源代码网推荐 308 /// </summary> 源代码网推荐 309 /// <param name="parentNodePath">父节点</param> 源代码网推荐 310 /// <param name="childNodePath">字节点名称</param> 源代码网推荐 311 public void AddChildNode( string parentNodePath,string childnodename ) 源代码网推荐 312 { 源代码网推荐 313 try 源代码网推荐 314 { 源代码网推荐 315 XmlNode parentXmlNode = xmlDoc.SelectSingleNode(parentNodePath) ; 源代码网推荐 316 if(!((parentXmlNode)==null))//如果此节点存在 源代码网推荐 317 { 源代码网推荐 318 XmlNode childXmlNode = xmlDoc.CreateElement(childnodename) ; 源代码网推荐 319 parentXmlNode.AppendChild( childXmlNode ) ; 源代码网推荐 320 } 源代码网推荐 321 else{//如果不存在就放父节点添加 源代码网推荐 322 //this.GetXmlRoot().AppendChild(childXmlNode); 源代码网推荐 323 } 源代码网推荐 324 源代码网推荐 325 } 源代码网推荐 326 catch(XmlException xmle) 源代码网推荐 327 { 源代码网推荐 328 throw xmle; 源代码网推荐 329 } 源代码网推荐 330 } 源代码网推荐 331 源代码网推荐 332 /**//// <summary> 源代码网推荐 333 /// 向一个节点添加属性 源代码网推荐 334 /// </summary> 源代码网推荐 335 /// <param name="NodePath">节点路径</param> 源代码网推荐 336 /// <param name="NodeAttribute">属性名</param> 源代码网推荐 337 public void AddAttribute( string NodePath , string NodeAttribute) 源代码网推荐 338 { 源代码网推荐 339 privateAddAttribute(NodePath,NodeAttribute,""); 源代码网推荐 340 } 源代码网推荐 341 /**//// <summary> 源代码网推荐 342 /// 源代码网推荐 343 /// </summary> 源代码网推荐 344 /// <param name="NodePath"></param> 源代码网推荐 345 /// <param name="NodeAttribute"></param> 源代码网推荐 346 /// <param name="NodeAttributeValue"></param> 源代码网推荐 347 private void privateAddAttribute( string NodePath , string NodeAttribute,string NodeAttributeValue) 源代码网推荐 348 { 源代码网推荐 349 try 源代码网推荐 350 { 源代码网推荐 351 XmlNode nodePath = xmlDoc.SelectSingleNode( NodePath ) ; 源代码网推荐 352 if (!(nodePath==null)) 源代码网推荐 353 { 源代码网推荐 354 XmlAttribute nodeAttribute = this.xmlDoc.CreateAttribute(NodeAttribute); 源代码网推荐 355 nodeAttribute.Value=NodeAttributeValue; 源代码网推荐 356 nodePath.Attributes.Append(nodeAttribute) ; 源代码网推荐 357 } 源代码网推荐 358 } 源代码网推荐 359 catch(XmlException xmle) 源代码网推荐 360 { 源代码网推荐 361 throw xmle; 源代码网推荐 362 } 源代码网推荐 363 } 源代码网推荐 364 /**//// <summary> 源代码网推荐 365 /// 向一个节点添加属性,并付值 源代码网推荐 366 /// </summary> 源代码网推荐 367 /// <param name="NodePath">节点</param> 源代码网推荐 368 /// <param name="NodeAttribute">属性名</param> 源代码网推荐 369 /// <param name="NodeAttributeValue">属性值</param> 源代码网推荐 370 public void AddAttribute( string NodePath , string NodeAttribute,string NodeAttributeValue) 源代码网推荐 371 { 源代码网推荐 372 privateAddAttribute(NodePath,NodeAttribute,NodeAttributeValue); 源代码网推荐 373 } 源代码网推荐 374 #endregion 源代码网推荐 375 源代码网推荐 376 删除#region 删除 源代码网推荐 377 /**//// <summary> 源代码网推荐 378 /// 删除节点的一个属性 源代码网推荐 379 /// </summary> 源代码网推荐 380 /// <param name="NodePath">节点所在的xpath表达式</param> 源代码网推荐 381 /// <param name="NodeAttribute">属性名</param> 源代码网推荐 382 public void DeleteAttribute( string NodePath , string NodeAttribute) 源代码网推荐 383 { 源代码网推荐 384 XmlNodeList nodePath =this.xmlDoc.SelectNodes(NodePath); 源代码网推荐 385 if (!(nodePath==null)) 源代码网推荐 386 { 源代码网推荐 387 foreach (XmlNode tempxn in nodePath) 源代码网推荐 388 { 源代码网推荐 389 XmlAttributeCollection xmlAttr = tempxn.Attributes ; 源代码网推荐 390 for(int i=0 ; i<xmlAttr.Count ; i++) 源代码网推荐 391 { 源代码网推荐 392 if ( xmlAttr.Item(i).Name == NodeAttribute) 源代码网推荐 393 { 源代码网推荐 394 tempxn.Attributes.RemoveAt(i); 源代码网推荐 395 break ; 源代码网推荐 396 } 源代码网推荐 397 } 源代码网推荐 398 } 源代码网推荐 399 } 源代码网推荐 400 } 源代码网推荐 401 源代码网推荐 402 /**//// <summary> 源代码网推荐 403 /// 删除节点,当其属性值等于给定的值时 源代码网推荐 404 /// </summary> 源代码网推荐 405 /// <param name="NodePath">节点所在的xpath表达式</param> 源代码网推荐 406 /// <param name="NodeAttribute">属性</param> 源代码网推荐 407 /// <param name="NodeAttributeValue">值</param> 源代码网推荐 408 public void DeleteAttribute( string NodePath , string NodeAttribute , string NodeAttributeValue) 源代码网推荐 409 { 源代码网推荐 410 XmlNodeList nodePath =this.xmlDoc.SelectNodes(NodePath); 源代码网推荐 411 if (!(nodePath==null)) 源代码网推荐 412 { 源代码网推荐 413 foreach (XmlNode tempxn in nodePath) 源代码网推荐 414 { 源代码网推荐 415 XmlAttributeCollection xmlAttr = tempxn.Attributes ; 源代码网推荐 416 for(int i=0 ; i<xmlAttr.Count ; i++) 源代码网推荐 417 { 源代码网推荐 418 if ( xmlAttr.Item(i).Name == NodeAttribute && xmlAttr.Item(i).Value==NodeAttributeValue) 源代码网推荐 419 { 源代码网推荐 420 tempxn.Attributes.RemoveAt(i); 源代码网推荐 421 break ; 源代码网推荐 422 } 源代码网推荐 423 } 源代码网推荐 424 } 源代码网推荐 425 } 源代码网推荐 426 } 源代码网推荐 427 /**//// <summary> 源代码网推荐 428 /// 删除节点 源代码网推荐 429 /// </summary> 源代码网推荐 430 /// <param name="tempXmlNode"></param> 源代码网推荐 431 /// <remarks></remarks> 源代码网推荐 432 public void DeleteXmlNode(string tempXmlNode){ 源代码网推荐 433 XmlNodeList nodePath =this.xmlDoc.SelectNodes(tempXmlNode); 源代码网推荐 434 if (!(nodePath==null)) 源代码网推荐 435 { 源代码网推荐 436 foreach(XmlNode xn in nodePath) 源代码网推荐 437 { 源代码网推荐 438 xn.ParentNode.RemoveChild(xn); 源代码网推荐 439 } 源代码网推荐 440 } 源代码网推荐 441 } 源代码网推荐 442 源代码网推荐 443 #endregion 源代码网推荐 444 源代码网推荐 445 XML文档事件#region XML文档事件 源代码网推荐 446 /**//// <summary> 源代码网推荐 447 /// 源代码网推荐 448 /// </summary> 源代码网推荐 449 /// <param name="src"></param> 源代码网推荐 450 /// <param name="args"></param> 源代码网推荐 451 private void nodeInsertEvent(Object src, XmlNodeChangedEventArgs args) 源代码网推荐 452 { 源代码网推荐 453 //保存设置 源代码网推荐 454 SaveXmlDocument(); 源代码网推荐 455 } 源代码网推荐 456 /**//// <summary> 源代码网推荐 457 /// 源代码网推荐 458 /// </summary> 源代码网推荐 459 /// <param name="src"></param> 源代码网推荐 460 /// <param name="args"></param> 源代码网推荐 461 private void nodeDeleteEvent(Object src, XmlNodeChangedEventArgs args) 源代码网推荐 462 { 源代码网推荐 463 //保存设置 源代码网推荐 464 SaveXmlDocument(); 源代码网推荐 465 } 源代码网推荐 466 /**//// <summary> 源代码网推荐 467 /// 源代码网推荐 468 /// </summary> 源代码网推荐 469 /// <param name="src"></param> 源代码网推荐 470 /// <param name="args"></param> 源代码网推荐 471 private void nodeUpdateEvent(Object src, XmlNodeChangedEventArgs args) 源代码网推荐 472 { 源代码网推荐 473 //保存设置 源代码网推荐 474 SaveXmlDocument(); 源代码网推荐 475 } 源代码网推荐 476 #endregion 源代码网推荐 477 源代码网推荐 478 保存XML文件#region 保存XML文件 源代码网推荐 479 /**//// <summary> 源代码网推荐 480 /// 功能: 源代码网推荐 481 /// 保存XML文件 源代码网推荐 482 /// 源代码网推荐 483 /// </summary> 源代码网推荐 484 public void SaveXmlDocument() 源代码网推荐 485 { 源代码网推荐 486 try 源代码网推荐 487 { 源代码网推荐 488 //保存设置的结果 源代码网推荐 489 if( this.xmlFilePathType == enumXmlPathType.AbsolutePath ) 源代码网推荐 490 { 源代码网推荐 491 Savexml( xmlFilePath ) ; 源代码网推荐 492 } 源代码网推荐 493 else if( this.xmlFilePathType == enumXmlPathType.VirtualPath ) 源代码网推荐 494 { 源代码网推荐 495 Savexml(HttpContext.Current.Server.MapPath(xmlFilePath)) ; 源代码网推荐 496 } 源代码网推荐 497 } 源代码网推荐 498 catch(XmlException xmle) 源代码网推荐 499 { 源代码网推荐 500 throw xmle; 源代码网推荐 501 } 源代码网推荐 502 } 源代码网推荐 503 源代码网推荐 504 /**//// <summary> 源代码网推荐 505 /// 功能: 源代码网推荐 506 /// 保存XML文件 源代码网推荐 507 /// </summary> 源代码网推荐 508 public void SaveXmlDocument(string tempXMLFilePath) 源代码网推荐 509 { 源代码网推荐 510 try 源代码网推荐 511 { 源代码网推荐 512 //保存设置的结果 源代码网推荐 513 Savexml(tempXMLFilePath); 源代码网推荐 514 } 源代码网推荐 515 catch(XmlException xmle) 源代码网推荐 516 { 源代码网推荐 517 throw xmle; 源代码网推荐 518 } 源代码网推荐 519 } 源代码网推荐 520 /**//// <summary> 源代码网推荐 521 /// 源代码网推荐 522 /// </summary> 源代码网推荐 523 /// <param name="filepath"></param> 源代码网推荐 524 private void Savexml(string filepath) 源代码网推荐 525 { 源代码网推荐 526 xmlDoc.Save(filepath); 源代码网推荐 527 } 源代码网推荐 528 源代码网推荐 529 #endregion 源代码网推荐 530 源代码网推荐 531 } 源代码网推荐 532 源代码网推荐 533} 源代码网推荐 534 源代码网推荐 535 源代码网推荐 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
