欢迎光临
我们一直在努力

C#对XML操作:一个处理XML文件的类(2)-ASP教程,ASP应用

建站超值云服务器,限时71元/月

c#操作xml初步(8)
第四章:通用的xml处理方法(2)
上一篇,我们提供了一个类,用来操作xml文件,这里提供一个应用的例子,来源于无聊时候写的一个xml留言本中对留言数据的处理
代码如下: 

using system; 
using system.io; 
using system.data; 
using system.diagnostics; 
using xmlbook.com.sem.tools;   //这里就包含了上一篇提供的类 

namespace xmlbook.component 

 /// <summary> 
 /// 版权: copyright by sem it department 
 /// 版本: 0.0.1 
 /// 文件: xmlbook.component.mdldatamange.cs 
 /// 目的: 留言数据相关的操作 
 /// 作者: 欧远宁 @2005-04-09 
 /// 邮箱: outrace@soueast-motor.com 
 /// 修改: 
 /// </summary> 
 public class mdldatamanage 
 { 

  #region 私有成员 
  private string strid = null; 
  private string strname = null; 
  private string strsex = null; 
  private string stremail = “no email”; 
  private string strpage = “no page”; 
  private string strqq = “no qq”; 
  private string strsubject = null; 
  private string strcontent = null; 
  private string strreply = “no reply”; 
  private string strfilter = null; 
  #endregion 
   
  #region 公有成员 
  /// <summary> 
  /// 姓名 
  /// </summary> 
  public string strname 
  { 
   get{return this.strname;} 
   set{this.strname = value;} 
  } 
  /// <summary> 
  /// 性别 
  /// </summary> 
  public string strsex 
  { 
   get{return this.strsex;} 
   set{this.strsex = value;} 
  } 
  /// <summary> 
  /// 邮箱 
  /// </summary> 
  public string stremail 
  { 
   get{return this.stremail;} 
   set{this.stremail = value;} 
  } 
  /// <summary> 
  /// 主页 
  /// </summary> 
  public string strpage 
  { 
   get{return this.strpage;} 
   set{this.strpage = value;} 
  } 

  /// <summary> 
  /// oicq号码 
  /// </summary> 
  public string strqq 
  { 
   get{return this.strqq;} 
   set{this.strqq = value;} 
  } 
  /// <summary> 
  /// 主题 
  /// </summary> 
  public string strsubject 
  { 
   get{return this.strsubject;} 
   set{this.strsubject = value;} 
  } 
  /// <summary> 
  /// 内容 
  /// </summary> 
  public string strcontent 
  { 
   get{return this.strcontent;} 
   set{this.strcontent = value;} 
  } 
  /// <summary> 
  /// 回复 
  /// </summary> 
  public string strreply 
  { 
   get{return this.strreply;} 
   set{this.strreply = value;} 
  } 
  /// <summary> 
  /// id号 
  /// </summary> 
  public string strid 
  { 
   get{return this.strid;} 
   set{this.strid = value;} 
  } 
  public string strfilter 
  { 
   get{return this.strfilter;} 
   set{this.strfilter = value;} 
  } 
  #endregion 

  public mdldatamanage() 
  { 
   // 
   // todo: 留言数据相关的操作 
   // 
  } 

  /// <summary> 
  /// 新增一条留言(这里演示如何新增一笔记录) 
  /// </summary> 
  public void add() 
  { 
   string [] arrfileds = new string[10]; 
   string [] arrvalues = new string[10]; 
   arrfileds[0] = “id”; 
   arrfileds[1] = “name”; 
   arrfileds[2] = “sex”; 
   arrfileds[3] = “email”; 
   arrfileds[4] = “page”; 
   arrfileds[5] = “qq”; 
   arrfileds[6] = “subject”; 
   arrfileds[7] = “content”; 
   arrfileds[8] = “reply”; 
   arrfileds[9] = “datetime”; 
   arrvalues[0] = datetime.now.tofiletime().tostring(); 
   arrvalues[1] = this.strname; 
   arrvalues[2] = this.strsex; 
   arrvalues[3] = this.stremail; 
   arrvalues[4] = this.strpage; 
   arrvalues[5] = this.strqq; 
   arrvalues[6] = this.strsubject; 
   arrvalues[7] = this.strcontent; 
   arrvalues[8] = “no reply”; 
   arrvalues[9] = datetime.now.tostring(); 
   try 
   { 
    xmldatabase xml = new xmldatabase(); 
    xml.strdatafile = config.datafile; 
    xml.strfields = arrfileds; 
    xml.strdata   = arrvalues; 
    xml.insert(); 
    xml.clear(); 
   } 
   catch(exception ee) 
   { 
    log log = new log(); 
    log.struser = “系统”; 
    log.strdepartment = “签写留言”; 
    log.strfilename = “xmlbook.component.mdldatamanage.cs”; 
    log.strdescription = ee.message; 
    log.writelog(); 
   } 
  } 

  /// <summary> 
  /// 回复留言(这里演示如何修改某一笔xml记录) 
  /// </summary> 
  public void reply() 
  { 
   string [] arrfileds = new string[1]; 
   string [] arrvalues = new string[1]; 
   arrfileds[0] = “reply”; 
   arrvalues[0] = this.strreply; 
   try 
   { 
    xmldatabase xml = new xmldatabase(); 
    xml.strdatafile = config.datafile; 
    xml.strdata = arrvalues; 
    xml.strfields = arrfileds; 
    xml.strfilter = “id=’”+this.strid+”’”; 
    xml.update(); 
    xml.clear(); 
   } 
   catch(exception ee) 
   { 
    log log = new log(); 
    log.struser = “系统”; 
    log.strdepartment = “回复数据”; 
    log.strfilename = “xmlbook.component.mdldatamanage.cs”; 
    log.strdescription = ee.message; 
    log.writelog(); 
   } 
  } 

  /// <summary> 
  /// 删除留言(这里演示如何删除一笔记录) 
  /// </summary> 
  public void delete() 
  { 
   try 
   { 
    xmldatabase xml = new xmldatabase(); 
    xml.strdatafile = config.datafile; 
    xml.strfilter = “id = ’”+ this.strid +”’”; 
    xml.delete(); 
    xml.clear(); 
   } 
   catch(exception ee) 
   { 
    log log = new log(); 
    log.struser = “系统”; 
    log.strdepartment = “回复数据”; 
    log.strfilename = “xmlbook.component.mdldatamanage.cs”; 
    log.strdescription = ee.message; 
    log.writelog(); 
   } 
  } 

  /// <summary> 
  /// 获取几行行留言数据(这里演示获取一行或多行数据) 
  /// </summary> 
  /// <returns>各行数据</returns> 
  public datarow[] getonerow() 
  { 
   xmldatabase xml = new xmldatabase(); 
   datarow[] dr = null; 
   try 
   {     
    xml.strdatafile = config.datafile; 
    xml.strfilter = this.strfilter; 
    dr = xml.selectrows(); 
    return dr; 
   } 
   catch(exception ee) 
   { 
    log log = new log(); 
    log.struser = “系统”; 
    log.strdepartment = “获取一行数据”; 
    log.strfilename = “xmlbook.component.mdldatamanage.cs”; 
    log.strdescription = ee.message; 
    log.writelog(); 
    return dr; 
   } 
   finally 
   {     
    xml.clear(); 
   } 
  } 

  /// <summary> 
  /// 获取视图 
  /// </summary> 
  /// <returns>视图</returns> 
  public dataview getview() 
  { 
   xmldatabase xml = new xmldatabase(); 
   dataview dv = null; 
   try 
   {     
    xml.strdatafile = config.datafile; 
    xml.strfilter = this.strfilter; 
    dv = xml.selectview(); 
    return dv; 
   } 
   catch(exception ee) 
   { 
    log log = new log(); 
    log.struser = “系统”; 
    log.strdepartment = “获取视图”; 
    log.strfilename = “xmlbook.component.mdldatamanage.cs”; 
    log.strdescription = ee.message; 
    log.writelog(); 
    return dv; 
   } 
   finally 
   {     
    xml.clear(); 
   } 
  } 
 } 

 
希望通过上面的例子能给大家操作xml文件提供一点点的借鉴。对于xml文件操作的连载就先到这里。如果大家觉得对你有些帮助。请给我鼓下掌。
我也是刚学习的菜鸟,很多想法、做法都很幼稚,高手不要取笑哦。
文中提到的我写的一个xml留言本,如果谁有需要原代码的,请跟我联系,我没有空间可以上传,大家可以给我发邮件:outrace@soueast-motor.com。多交流 

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » C#对XML操作:一个处理XML文件的类(2)-ASP教程,ASP应用
分享到: 更多 (0)