批量操作xml文件

这篇博客介绍了如何批量操作XML文件,包括读取、创建、插入、更新和删除等操作,重点在于批量处理功能,如批量插入、删除和更新节点。提供了相应的代码示例。
摘要由CSDN通过智能技术生成

我修改了一下代码。支持一次加载xmldocument,等批量修改完了,再保存xml文档

支持的操作如下:

  1. 读取数据

  2. 创建一个XML文档,成功创建后操作路径将直接指向该文件

  3. 插入

  4.  更新

  5. 删除

  6. 批量插入

  7. 批量删除

  8. 批量更新节点

等等

代码如下:

using  System;
using  System.Linq;
using  System.Xml.Linq;
using  System.Xml;
using  System.Data;
using  System.Configuration;
using  System.Collections.Generic;
/// 这个是用VS2010写的,如果用VS2005,请去掉System.Linq和System.Xml.Linq的引用
/// 可以将此文件直接编译成dll,今后程序只需要引用该dll后开头添加using XmlLibrary;即可。
namespace  CustomLib
{
     /// <summary>
     /// XmlHelper 的摘要说明
     /// </summary>
   public    class  XmlHelper
     {
         private  string  msg;
         public  XmlHelper()
         {
         }
         /// <summary>
         /// 读取数据
         /// </summary>
         /// <param name="path">路径</param>
         /// <param name="node">节点</param>
         /// <param name="attribute">属性名,非空时返回该属性值,否则返回串联值</param>
         /// <returns>string</returns>
         /**************************************************
          * 使用示列:
          * XmlHelper.Read(path, "/Node", "")
          * XmlHelper.Read(path, "/Node/Element[@Attribute='Name']", "Attribute")
          ************************************************/
         public  static  string  Read( string  path,  string  node,  string  key,  string  value)
         {
             string  str1 =  "" ;
             try
             {
                 XmlDocument doc =  new  XmlDocument();
                 doc.Load(path);
                 XmlNodeList nodeList = doc.SelectSingleNode(node).ChildNodes; //获取NewDataSet节点的所有子节点
                 foreach  (XmlNode xn  in  nodeList) //遍历所有子节点
                 {
                     XmlElement xe = (XmlElement)xn; //将子节点类型转换为XmlElement类型
                     if  (xe.GetAttribute( "key" ) == key)
                     {
                         str1 = xe.GetAttribute(value);
                         continue ;
                     }
                 }
                 return  str1;
             }
             catch  (Exception ex) {  string  aaa = ex.ToString(); }
             return  value;
         }
         public  static  List< string >  ReadList( string  path,  string  node,  string  key,  string  value)
         {
             string  str1 =  "" ;
             try
             {
                 XmlDocument doc =  new  XmlDocument();
                 doc.Load(path);
                 XmlNodeList nodeList = doc.SelectSingleNode(node).ChildNodes; //获取NewDataSet节点的所有子节点
                 List< string > list =  new  List< string >();
                 foreach  (XmlNode xn  in  nodeList) //遍历所有子节点
                 {
                     XmlElement xe = (XmlElement)xn; //将子节点类型转换为XmlElement类型
                     if  (key.Length > 0)
                     {
                         if  (xe.GetAttribute( "key" ) == key)
                         {
                             str1 = xe.GetAttribute(value);
                             list.Add(str1);
                             continue ;
                         }
                     }
                     else
                     {
                         str1 = xe.GetAttribute(value);
                         list.Add(str1);
                     }
                 }
                 return  list;
             }
             catch  (Exception ex) {  string  aaa = ex.ToString(); }
             return  new  List< string >();
         }
         /// <summary>
         /// 创建一个XML文档,成功创建后操作路径将直接指向该文件
         /// </summary>
         /// <param name="fileName">文件物理路径名</param>
         /// <param name="xmlString">xml字符串</param>
         public  static  void  CreateXmlFile( string  fileName,  string  xmlString)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值