XPath实例.doc_第1页
XPath实例.doc_第2页
XPath实例.doc_第3页
XPath实例.doc_第4页
XPath实例.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

实例 1基本的XPath语法类似于在一个文件系统中定位文件,如果路径以斜线 / 开始, 那么该路径就表示到一个元素的绝对路径/AAA选择根元素AAA /AAA/CCC选择AAA的所有CCC子元素 /AAA/DDD/BBB选择AAA的子元素DDD的所有子元素 实例 2如果路径以双斜线 / 开头, 则表示选择文档中所有满足双斜线/之后规则的元素(无论层级关系) /BBB选择所有BBB元素 /DDD/BBB选择所有父元素是DDD的BBB元素 实例 3星号 * 表示选择所有由星号之前的路径所定位的元素 /AAA/CCC/DDD/*选择所有路径依附于/AAA/CCC/DDD的元素 /*/*/*/BBB选择所有的有3个祖先元素的BBB元素 /*选择所有元素 实例 4方块号里的表达式可以进一步的指定元素, 其中数字表示元素在选择集里的位置, 而last()函数则表示选择集中的最后一个元素. /AAA/BBB1选择AAA的第一个BBB子元素 /AAA/BBBlast()选择AAA的最后一个BBB子元素 实例 5/id选择所有的id属性 /BBBid选择有id属性的BBB元素 /BBBname选择有name属性的BBB元素 /BBB*选择有任意属性的BBB元素 /BBBnot(*)选择没有属性的BBB元素 实例 6属性的值可以被用来作为选择的准则, normalize-space函数删除了前部和尾部的空格, 并且把连续的空格串替换为一个单一的空格 /BBBid=b1选择含有属性id且其值为b1的BBB元素 /BBBname=bbb选择含有属性name且其值为bbb的BBB元素 /BBBnormalize-space(name)=bbb选择含有属性name且其值(在用normalize-space函数去掉前后空格后)为bbb的BBB元素 实例 7count()函数可以计数所选元素的个数 /*count(BBB)=2选择含有2个BBB子元素的元素 /*count(*)=2选择含有2个子元素的元素 /*count(*)=3选择含有3个子元素的元素 实例 8name()函数返回元素的名称, start-with()函数在该函数的第一个参数字符串是以第二个参数字符开始的情况返回true, contains()函数当其第一个字符串参数包含有第二个字符串参数时返回true. /*name()=BBB选择所有名称为BBB的元素(这里等价于/BBB) /*starts-with(name(),B)选择所有名称以B起始的元素 /*contains(name(),C)选择所有名称包含C的元素 实例 10多个路径可以用分隔符 | 合并在一起 /CCC | /BBB选择所有的CCC和BBB元素 /AAA/EEE | /BBB选择所有的BBB元素和所有是AAA的子元素的EEE元素 /AAA/EEE | /DDD/CCC | /AAA | /BBB可以合并的路径数目没有限制 实例 11child轴(axis)包含上下文节点的子元素, 作为默认的轴,可以忽略不写. /AAA等价于 /child:AAA /child:AAA等价于/AAA /AAA/BBB等价于/child:AAA/child:BBB /child:AAA/child:BBB等价于/AAA/BBB /child:AAA/BBB二者都可以被合并 实例 12descendant (后代)轴包含上下文节点的后代,一个后代是指子节点或者子节点的子节点等等, 因此descendant轴不会包含属性和命名空间节点. /descendant:*选择文档根元素的所有后代.即所有的元素被选择 /AAA/BBB/descendant:*选择/AAA/BBB的所有后代元素 /CCC/descendant:*选择在祖先元素中有CCC的所有元素 /CCC/descendant:DDD选择所有以CCC为祖先元素的DDD元素 实例 13parent轴(axis)包含上下文节点的父节点, 如果有父节点的话 /DDD/parent:*选择DDD元素的所有父节点 实例 14ancestor轴(axis)包含上下节点的祖先节点, 该祖先节点由其上下文节点的父节点以及父节点的父节点等等诸如此类的节点构成,所以ancestor轴总是包含有根节点,除非上下文节点就是根节点本身. /AAA/BBB/DDD/CCC/EEE/ancestor:*选择一个绝对路径上的所有节点 /FFF/ancestor:*选择FFF元素的祖先节点 实例 15following-sibling轴(axis)包含上下文节点之后的所有兄弟节点 /AAA/BBB/following-sibling:* /CCC/following-sibling:* 实例 16preceding-sibling 轴(axis)包含上下文节点之前的所有兄弟节点 /AAA/XXX/preceding-sibling:* /CCC/preceding-sibling:* 实例 17following轴(axis)包含同一文档中按文档顺序位于上下文节点之后的所有节点, 除了祖先节点,属性节点和命名空间节点 /AAA/XXX/following:* /ZZZ/following:* 实例 18preceding轴(axis)包含同一文档中按文档顺序位于上下文节点之前的所有节点, 除了祖先节点,属性节点和命名空间节点 /AAA/XXX/preceding:* /GGG/preceding:* 实例 19descendant-or-self 轴(axis)包含上下文节点本身和该节点的后代节点 /AAA/XXX/descendant-or-self:* /CCC/descendant-or-self:* 实例 20ancestor-or-self 轴(axis)包含上下文节点本身和该节点的祖先节点 /AAA/XXX/DDD/EEE/ancestor-or-self:* /GGG/ancestor

温馨提示

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

评论

0/150

提交评论