xpath表达式.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
xpath表达式

Xpath文件表达式 简单说,xpath就是选择XML文件中节点的方法。 所谓节点(node),就是XML文件的最小构成单位,一共分成7种。 - element(元素节点) - attribute(属性节点) - text (文本节点) - namespace (名称空间节点) - processing-instruction (处理命令节点) - comment (注释节点) - root (根节点) xpath可以用来选择这7种节点。不过,下面的笔记只涉及最常用的第一种element(元素节点),因此可以将下文中的节点和元素视为同义词。 一、xpath表达式的基本格式 xpath通过“路径表达式”(Path Expression)来选择节点。在形式上,“路径表达式”与传统的文件系统非常类似。 # 斜杠(/)作为路径内部的分割符。 # 同一个节点有绝对路径和相对路径两种写法。 # 绝对路径(absolute path)必须用“/”起首,后面紧跟根节点,比如/step/step/...。 # 相对路径(relative path)则是除了绝对路径以外的其他写法,比如 step/step,也就是不使用“/”起首。 # “.”表示当前节点。 # “..”表示当前节点的父节点 二、选择节点的基本规则 - nodename(节点名称):表示选择该节点的所有子节点 - “/”:表示选择根节点 - “//”:表示选择任意位置的某个节点 - “@”: 表示选择某个属性 三、选择节点的实例 先看一个XML实例文档。 ?xml?version=1.0?encoding=ISO-8859-1? bookstore book ????title?lang=engHarry?Potter/title ????price29.99/price ??/book book ????title?lang=engLearning?XML/title ????price39.95/price ??/book /bookstore [例1] bookstore :选取 bookstore 元素的所有子节点。 [例2] /bookstore :选取根节点bookstore,这是绝对路径写法。 [例3] bookstore/book :选取所有属于 bookstore 的子元素的 book元素,这是相对路径写法。 [例4] //book :选择所有 book 子元素,而不管它们在文档中的位置。 [例5] bookstore//book :选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。 [例6] //@lang :选取所有名为 lang 的属性。 四、xpath的谓语条件(Predicate) 所谓“谓语条件”,就是对路径表达式的附加条件。 所有的条件,都写在方括号“[]”中,表示对节点进行进一步的筛选。 [例7] /bookstore/book[1] :表示选择bookstore的第一个book子元素。 [例8] /bookstore/book[last()] :表示选择bookstore的最后一个book子元素。 [例9] /bookstore/book[last()-1] :表示选择bookstore的倒数第二个book子元素。 [例10] /bookstore/book[position()3] :表示选择bookstore的前两个book子元素。 [例11] //title[@lang] :表示选择所有具有lang属性的title节点。 [例12] //title[@lang=eng] :表示选择所有lang属性的值等于“eng”的title节点。 [例13] /bookstore/book[price] :表示选择bookstore的book子元素,且被选中的book元素必须带有price子元素。 [例14] /bookstore/book[price35.00] :表示选择bookstore的book子元素,且被选中的book元素的price子元素值必须大于35。 [例15] /bookstore/book[price35.00]/title :表示在例14结果集中,选择title子元素。 [例16] /bookstore/book/price[.35.00] :表示选择值大于35的“/bookstore/book”的price子元素。 五、通配符 # “*”表示匹配任何元素节点。 # “@*”表示匹配任何属性值。 # node()表示匹配任何类型的节点。 [例17] //* :选择文档中的所有元素节点。 [例18] /*/* :表示选择所有第二层的元素节点。 [

文档评论(0)

chengben002424 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档