基本语法

83 阅读1分钟

XPath作为路径寻址

基本的XPath语法类似于文件系统寻址。如果路径以斜杠/开始,那么它表示所需元素的绝对路径

/AAA

选择根元素AAA

image.png

/AAA/CCC

选择根元素AAA的所有CCC子元素

image.png

image.png

/AAA/DDD/BBB

选择根元素AAA的DDD子元素下的所有BBB子元素

image.png

image.png

//的使用

如果路径以//开头,则会选择文档中满足条件的所有元素。

//BBB

选择所有BBB元素

image.png

//DDD/BBB

选择DDD元素下所有BBB子元素。

image.png

所有元素:*

/AAA/CCC/DDD/*

选择元素/AAA/CCC/DDD所包含的所有元素

image.png

/*/*/*BBB

选择具有3个祖先的所有元素BBB

image.png

//*

选择所有元素

image.png

[]内的其他条件

[]中的因子可以进一步指定一个元素,括号中的数字表示元素在选定集中的位置,函数last()选择 选择中的最后一个元素

/AAA/BBB[1]

选择元素AAA的第一个子级

image.png

/AAA/BBB[last()]

选择元素AAA的最后一个子级

image.png

属性

属性由@prefix指定

//@id

选择所有具有id属性的元素

image.png

//BBB[@id]

选择具有id属性的BBB元素

image.png

//BBB[@name]

选择具有名称属性的BBB元素

image.png

//BBB[@*]

选择具有任何属性的BBB元素

image.png

//BBB[not(@*)]

选择没有属性的BBB元素

image.png

属性值

属性的值可以用作选择标准,函数normalize-space删除首尾空格。

//BBB[@id='b1']

选择具有值为b1的id属性的BBB元素

image.png

//BBB[@name='bbb']

选择具有值为bbb的name属性的BBB元素

image.png

//BBB[normalize-space(@name)='bbb']

选择具有值为BBB的属性名称的BBB元素,在比较之前删除首尾空格。

image.png

image.png