xpath语法笔记
xpath是在xml文档中查找信息的语言, 其语法整理如下:
div | div下的所有子节点 |
/div | 根节点下的div |
//div | 匹配所有的div |
. | 当前节点 |
.. | 父节点 |
@lang | 属性为lang的所有节点 |
div[1] | 选取第一个节点 |
div[last()] | 选取最后一个节点 |
div[last()-1] | 选取倒数第二个节点 |
div[positon()<3] | 选取前两个节点 |
div[@lang] | 选取有lang属性的节点 |
div[@lang='eng'] | 选取lang属性值为eng的节点 |
div[price>35.00] | 选取price属性大于35的节点 |
* | 所有节点 |
@* | 任何属性 |
| | 可以选取多个路径,用 | 隔开 |
/ | 连接路径选择 |
./ancestor::* | 当前节点的所有先辈节点(父节点,祖父节点) |
./ancestor-or-self::* | 当前节点的所有先辈节点(父节点,祖父节点)及本身 |
./attribute::* | 选取当前节点的所有属性 |
./child::* | 当前节点的所有子节点 |
./descendant::* | 当前节点的所有后代节点(子节点、孙节点) |
./following::* | 选取文档中当前节点结束标签后的所有节点 |
./following-sibling::* | 选取当前节点之后的兄弟节点 |
./parent::* | 选取当前节点的父节点 |
./preceding::* | 选取文档中当前节点开始标签前的所有节点 |
./preceding-sibling::* | 选取当前节点之前的兄弟节点 |
./self::* | 选取当前节点 |
text() | 节点文本 |
contains(@id,"ma") | 选取id属性包含 ma 的节点(div[contains(@id, ""ma)]) |
starts-with(@id,"ma") | 选取id属性以 ma 开头的节点(div[starts-with(@id, ""ma)]) |