XPathExpression类对XML进行排序__第1页
XPathExpression类对XML进行排序__第2页
XPathExpression类对XML进行排序__第3页
XPathExpression类对XML进行排序__第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XPathExpression类对XML进行排序_ 在.net平台下,要完成这样的工作特别轻松,我们只需用法system.xml.xpath名字空间里的几个类即可,如 xpathnavigator和xpathexpression。这些类相当于xslt中xpath的功能,允许你在xml文档中进行遍历,也可以进行排 序的操作。下面是对system.xml.xpath名字空间中的类进行的简洁的描述: 由于要具体商量每一个类的详情,超出了我们主题的范围,我们只商量与排序有关的那些类的用法。首先,我们需要创建一个xpathnavigator对象,以便建立xpath表达式来完成我们的排序功能。由于这个类是

2、一个抽象类,我们不能这样挺直创建它: xpathnavigator nav = new xpathnavigator(); 我们必需用法xmldocument、xmldatadocument或xpathdocument的createnavigator()方法来创建: xpathdocument doc = new xpathdocument(server.mappath(customers.xml); xpathnavigator nav = doc.createnavigator(); 创建了xpathnavigator对象后,我们就可以用法compile()方法编译一个xpath表达式,这

3、个方法返回一个 xpathexpression 类,它封装编译过的表达式,同时允许我们进行排序。下面是一个用法xpathnavigator类创建一个编译过的xpath表达式的例子: xpathexpression exp = pile(xpath); 我们通过用法xpathexpression对象的addsort()方法实现排序的功能,这个方法有两个重载的方式: public abstract void addsort(object expr, icomparer comparer); public abstract void addsort( object expr, xmlsortorde

4、r order, xmlcaseo教程rder caseorder, string lang, xmldatatype datatype ); 第一个方法允许我们用法自定义的排序表达式;其次个方法有5个参数:分别是要排序的对象、排序挨次、条件挨次、语言类别和数据类型,下面就是用法该方法进行排序的例子: exp.addsort(text(),xmlsortorder.ascending,xmlcaseorder.none,xmldatatype.text); 一旦我们对xpath表达式添加了排序的功能,我们就可以调用xpathnavigator对象的select()方法,并把编译过的xpath表

5、 达式作为参数,select()方法返回一个xpathnodeiterator对象,我们可以用法它遍历我们所选择的节点。 下面就是用c#编写的实现排序功能的全部代码: private void page_load(object sender, system.eventargs e) stringbuilder unsorted = new stringbuilder(); stringbuilder sorted = new stringbuilder(); string xpath = /customers/customer/contactname; xpathdocument doc =

6、new xpathdocument(server.mappath(customers.xml); xpathnavigator nav = doc.createnavigator(); xpathnodeiterator nodeiter1 = nav.select(xpath); while (nodeiter1.movenext() unsorted.append(nodeiter1.current.value + br /); this.lblunsorted.text = unsorted.tostring(); xpathexpression exp = pile(xpath); e

7、xp.addsort(text(),xmlsortorder.ascending, xmlcaseorder.none,xmldatatype.text); xpathnodeiterator nodeiter2 = nav.select(exp); while (nodeiter2.movenext() sorted.append(nodeiter2.current.value + br /); this.lblsorted.text = sorted.tostring(); xpathdocument:进行xml文档处理时,供应一个快速、有效的、只读的cache功能,在进行xslt转换时,推举用法该类。 xpathexception:当处理xpath产生错误时,抛出一个例外。 xpathexpression:保存在调用xpathnavigator的compile()方法时生成的、经过编译

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论