码迷,mamicode.com
首页 > 其他好文 > 详细

Xpath基础

时间:2016-07-02 18:51:50      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

  XPath是一门在XML文档中查找信息的语言。XPath可用来在XML文档中对元素和属性进行遍历。由于我们单纯使用dom定位节点时,大部分时间需要一层一层的处理,如果使用xPath,定位节点将变得很轻松。它可以根据路径,属性,甚至是条件进行节点的检索。

  路径表达式:

  - 斜杠(/) 作为路径内部的分隔符;

  - 同一个节点有绝对路径和相对路径两种写法

  - "." 表示当前节点

  - ".." 表示当前节点的父节点

  - nodename (节点名称) : 表示选择该节点的所有子节点

  - "/" 表示选择根节点

  - "//" 表示选择任意位置的某个节点

  - "@" 表示选择某个属性

  - /bookstore : 选择根节点 bookstore, 这是绝对路径写法。

  - "bookstor/book" 选取所有属于bookstore 的子元素的book 元素,这是相对路径写法。

  - //book  选择所有book 子元素,而不管它们在文档中的位置

  - bookstore//book  选择所有属于bookstore 元素的后代的book元素,而不管它们位于bookstore 之下的什么位置。

  - //@lang 选取所有名为lang的属性

  谓语

  "谓语条件",就是对路径表达式的附加条件;所有条件都写在方括号[] 中,表示对节点进行进一步的筛选。

  - /bookstroe/book[1]  表示选择bookstroe 的第一个book 子元素

  - /bookstroe/book[last()]  表示选择bookstore 的最后一个book子元素。

  - /bookstore/book[last()-1] 表示选择bookstore 的倒数第二个book子元素。

  - /bookstore/book[position()<3]  表示选择bookstore 的前两个book子元素。

  - //title[@lang]  表示选择所有具有lang 属性的title 节点。

  - //title[@lang=‘eng‘]  表示选择所有lang属性的值等于“eng” 的title 节点。

  - /bookstore/book[price]  表示选择bookstore的book子元素,且被选中的book元素必须带有price子元素。

  - /bookstore/book[price>35.00]  表示选择bookstore 的book子元素,且被选中的book 元素的price 子元素值必须大于35.

  - /bookstore/book[price>35.00]/title  表示在上例结果集合中,选择title子元素。

  - /bookstore/book/price[.>35.00]  表示选择值大于35的"/bookstore/book"的price子元素。

  通配符

  - "*" 表示匹配任何元素节点

  - "@"  表示匹配任何属性值

  - node() 表示匹配任何类型的节点

  - "//*"  表示选择文档中的所有元素节点

  - "/*/*"  表示选择所有第二层的元素节点。

  - "/bookstore/*"  表示选择bookstore  的所有元素子节点

  - "//title[@*]"   表示选择所有带有属性的title元素。

  

 

Xpath基础

标签:

原文地址:http://www.cnblogs.com/developTrainee/p/5635849.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!