评论(0)

一个通过DataSet操作XML的类

2005-09-02 10:02 kgdiwss A+

3 实例解析

  (7) 读取XML
  以下代码读取到一个没有排序和筛选的DataSet。

DataGrid1.DataSource = OperateXmlByDataSet.GetDataSetByXml(@"xml/xml_xmlDB.xml");
DataGrid1.DataBind();
以下代码读到的数据是经过筛选和排序的:
DataGrid1.DataSource = OperateXmlByDataSet.GetDataViewByXml(
@"xml/xml_xmlDB.xml", //XML文件路径
"name = 'Asp.net'", //条件:name列值为Asp.net
"peopleNum desc"); //按peopleNum列降序排列
DataGrid1.DataBind();


  (8) 添加记录
  以下代码向XML文件中添加了一条记录,同时给7个列赋值:

bool b;
b = OperateXmlByDataSet.WriteXmlByDataSet(
@"xml/xml_xmlDB.xml", //XML文件地址
new string[]{
"name", //姓名字段
"peopleNum", //人数字段
"address", //地址字段
"description", //描述字段
"require", //需求字段
"deadLine", //结束时间字段
"IsMarried" //婚否字段
},
new string[]{
"Asp.net程序员", //姓名字段值
"2", //人数字段值
"建国路", //地址字段值
"B/S结构程序", //描述字段值
"asp.net c#等", //需求字段值
DateTime.Now.ToShortDateString(), //结束时间字段值
"false" //婚否字段值
});


  如果b返回值为true,表示添加成功,否则表示添加失败。以上的写法我用了些偷懒的方法,比如我把数组直接放在参数,而没有另外申明,事实上你可以另外申明一个数组,然后再传到方法中。
  请注意字段在数组中的位置和值在数组中的位置的对应关系。

  (9) 修改记录
  以下代码将找到peopleNum列值为3的行,然后将行的name、peopleNum、、description和IsMarried四个字段的值分别更新成kgdiwss、10、描述、true。

bool b;
b = OperateXmlByDataSet.UpdateXmlRow(
@"xml/xml_xmlDB.xml",
new string[]{"name","peopleNum","description","IsMarried"},
new string[]{"kgdiwss","10","描述","true"},
"peopleNum",
"3");


  返回true表示修改成功,否则表示修改失败。
  请特别注意,字段类型为逻辑型时,赋值用的是true和false,而不是0和1。

  (10) 删除记录
  以下代码实现删除name列值为数组中的值的行。

bool b;
b = OperateXmlByDataSet.DeleteXmlRows(
@"xml/xml_xmlDB.xml", //XML文件路径
"name", //条件列
new string[]{
"值1", //条件值1
"值2", //条件值2
"值3" //条件值3
});


  上面代码执行成功后,name列值为值1、值2、值3的行将被删除。
  删除成功返回true,否则返回false。
  另外两种删除的方法用法比较简单,这里就不介绍了。

  以上就是操作XML的所有方法,相信可以满足很大一部份的使用了。然而,如果XML中的数据量比较大的话,使用以上方法效率可能不高,但话又说回来,如果数据量比较大的话,还是选择数据库比较好。

打开客户端,无广告困扰,阅读更专注

热门新闻

你只用微信来聊天?微信能干的这些事你都知道么

你只用微信来聊天?微信能干的这些事你都知道么

联络聊天 32

你可能是正版的受害者!谈谈正版游戏的坑爹事

你可能是正版的受害者!谈谈正版游戏的坑爹事

观点评论 48

阴阳师手游黑童子御魂最强搭配攻略

阴阳师手游黑童子御魂最强搭配攻略

游戏攻略 0

王者荣耀第七期体验服申请时间预告 第七期体验

王者荣耀第七期体验服申请时间预告 第七期体验

游戏攻略 2

年度最性感游戏!《尼尔:机械纪元》销量破百万

年度最性感游戏!《尼尔:机械纪元》销量破百万

业界新闻 9

炉石传说龙战卡组推荐 不带新卡依然强势

炉石传说龙战卡组推荐 不带新卡依然强势

游戏攻略 2

目睹只存在传说中的建筑!好玩的虚拟建筑App

目睹只存在传说中的建筑!好玩的虚拟建筑App

Android资讯 2

王者荣耀马可波罗怎么玩?马可波罗出装攻略

王者荣耀马可波罗怎么玩?马可波罗出装攻略

游戏攻略 0

王者荣耀体验服资格申请时间表 持续更新中

王者荣耀体验服资格申请时间表 持续更新中

游戏攻略 1

阴阳师现世召唤阵图片ssr概率最高时间点

阴阳师现世召唤阵图片ssr概率最高时间点

游戏攻略 0

推荐内容