xpath
表达式
/
从跟节点选取
//
从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
.
选取当前节点
..
选取当前节点的父节点
@
选取属性
路径表达式
/bookstore/book[1]
选取属于bookstore子元素的第一个book元素
/bookstore/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元素
选择未知节点
*
匹配任何元素节点
@*
匹配任何属性节点
node()
匹配任何类型的节点
练习
选取若干路径
//book/title|//book/price
选取book元素的所有title和price元素
//title|//price选取文档中的所有title和price元素
补充
//*[text()="xxx"]
内容是xxx的元素
//*[starts-with(@属性名,"xxx")]
属性以xxx开头的元素
//*[contains(@属性名,"xxx")]
属性含有xxx的元素
//*[@attribute1=value1 and @attribute2=value2]
同时有两个属性值的元素
css选择器
css选择器语法
.clss
#id
标签名
通过元素之间的嵌套关系
div,p
div p
div>p
通过属性