/ 路径以/开始,该路径表示道一个元素的绝对路径
/aa/cc选择aa的所有cc子元素
// 路径以//开头,表示选择文档中所有满足//所有规则的元素,(不论层级关系)
//bb 选择所有的bb元素
//dd//bb 选择所有父元素是dd的预案bb元素
* 表示选择所有由*之前的路径所定位的元素
/aa/cc/dd/* 选择/aa/cc/dd/下的所有元素
/*/*/*/bb 选择有三个祖先的bb元素
[]表达式可以进一步指定元素,其中数字表示元素在选择集里德位置,而last()函数则表示选择集中的最后一个元素
/aa/bb[1] 选择aa的第一个bb元素
/aa/bb[last()] 选择aa的最有一个bb元素
@指定属性
//@id 选择所有的带有id属性的元素
//bb[@id] 选择带有id属性的bb元素
//bb[@name] 选择有name属性的bb元素
//bb[@*] 选择有任意属性的bb元素
//bb[not(@*)] 选择没有属性的bb元素
//bb[@id='b1'] 选择带有属性id=b1的元素
normalize-space(name) 函数normalize-space用于去掉name前后空格
//bb[normalize-sapce(@name)='bb'] 选择属性值等于bb的元素
count() 计数所选元素的个数
//*[count(bb)=2] 选择包含有2个bb子元素的元素
//*[count(*)2] 选择有2个子元素的元素
name()函数返回元素名称,start-with() contains()
//*[name()="bb"] 选择所有名称为bb的元素
//*[starts-with(name(),'b')] 选择所有名称以b开始的元素
//*[contains(name(),'c')] 选择所有名称包含c的元素
//cc|//bb 选择所有的cc和bb元素
文章评论