讀寫XML類

public   class   UserInfoTable   :   IDisposable  
  {  
          ///   <summary>  
          ///   XML文件路径  
          ///   </summary>  
          private   static   string   strXmlFile   =   "~/App_Data/UserInfo.xml";  
          ///   <summary>  
          ///   DataSet对象  
          ///   </summary>  
          private   DataSet   dataset   =   null;  
          ///   <summary>  
          ///   XML文件相对路径  
          ///   </summary>  
          private   string   strFilePath   =   null;  
   
          ///   <summary>  
          ///   构造函数  
          ///   </summary>  
          public   UserInfoTable()  
          {  
                  //   实例化DataSet  
                  dataset   =   new   DataSet();  
                  //   不依赖于区域性  
                  dataset.Locale   =   CultureInfo.InvariantCulture;  
                  //   取得XML文件虚拟路径  
                  strFilePath   =   HttpContext.Current.Server.MapPath(strXmlFile);  
                  //   读取XML文件  
                  dataset.ReadXml(strFilePath);  
          }  
   
          ///   <summary>  
          ///   资源释放  
          ///   </summary>  
          public   void   Dispose()  
          {  
                  //   关闭DataSet  
                  dataset.Dispose();  
                  GC.SuppressFinalize(this);  
          }  
   
          ///   <summary>  
          ///   检索数据  
          ///   </summary>  
          ///   <returns>DataSet对象</returns>  
          public   DataSet   GetDataSet()  
          {  
                  //   返回DataSet对象  
                  return   dataset;  
          }  
          ///   <summary>  
          ///   更新数据  
          ///   </summary>  
          ///   <param   name="nID">Id</param>  
          ///   <param   name="strName">Name</param>  
          ///   <returns>更新是否成功</returns>  
          public   void   UpdateDataSet(int   Id,   string   Name)  
          {  
                  try  
                  {  
                          //   选择节点条件  
                          string   strFilter   =   "Id="   +   Id.ToString(CultureInfo.InvariantCulture);  
                          //   记录取得的行的集合  
                          DataRow[]   rows   =   dataset.Tables[0].Select(strFilter);  
                          //   如果取到记录  
                          if   (rows.Length   >   0)  
                          {  
                                  //   更新数据  
                                  rows[0]["Name"]   =   Name;  
                                  //   保存数据  
                                  Save();  
                          }  
                  }  
                  catch   (Exception)  
                  {  
                  }  
          }  
   
          ///   <summary>  
          ///   删除一条数据  
          ///   </summary>  
          ///   <param   name="nID">ID</param>  
          ///   <returns>是否删除成功</returns>  
          public   void   DeleteDataSet(int   Id)  
          {  
   
                  try  
                  {  
                          //   选择节点条件  
                          string   strFilter   =   "Id="   +   Id.ToString(CultureInfo.InvariantCulture);  
                          //   记录取得的行的集合  
                          DataRow[]   rows   =   dataset.Tables[0].Select(strFilter);  
                          //   如果取到记录  
                          if   (rows.Length   >   0)  
                          {  
                                  //   删除数据  
                                  rows[0].Delete();  
                                  //   保存数据  
                                  Save();  
                          }  
                  }  
                  catch   (Exception)  
                  {  
                  }  
          }  
   
          ///   <summary>  
          ///   插入数据  
          ///   </summary>  
          ///   <param   name="strName">姓名</param>  
          ///   <returns>是否插入成功</returns>  
          public   void   InsertDataSet(int   Id,   string   Name)  
          {  
                  DataRow   row   =   dataset.Tables[0].NewRow();  
                  row["Id"]   =   Id;  
                  row["Name"]   =   Name;  
                  dataset.Tables[0].Rows.Add(row);  
                  Save();  
          }  
   
          ///   <summary>  
          ///   保存XML文档  
          ///   </summary>  
          private   void   Save()  
          {  
                  //   写入XML文档  
                  dataset.WriteXml(strFilePath,   XmlWriteMode.IgnoreSchema);  
          }  
  }
posted @ 2008-02-28 09:00  马建康  阅读(198)  评论(0)    收藏  举报