1
XPath表达式
2
.(单点)
3
符号“.”用于引用当前节点自身。例如,“.”表示选择当前的节点,而“.//item”表示作为当前节点的所有item子元素
4
5
..(双点)
6
符号“..”表示当前节点的父亲点。
7
8
[](方括号)
9
表示有序序列中的特定元素。比如,list/itme[2]代表list节点的第二个item子节点。
10
11
@
12
符号“@”表示节点属性。例如,“@price”表示名为price的属性。
13
14
/(左斜杠)
15
表示当前文档的节点。例如,“/A/C/D”表示节点“A”的子节点“C”的子节点“D”。
16
17
//(双左斜杠)
18
表示当前文档所有的节点。例如,“//E”表示所有E元素;“//C/E”表示所有父节点为C的E元素。
19
20
*(星号)
21
表示路径的通配符。例如,“A/B/C/*”表示A元素->B元素->C元素下的所有子元素;“/*/*/D”表示上面有两级节点的D元素;“//*”表示所有的元素。
22
23
\(坚杠)
24
表示逻辑或,用于获取节点并集。例如,“//B\//C”表示所有B元素和C元素。
25
26
表10-8 XPath表达式示示例例表
27
28
表达式 说明
29
author 当前节点位置的所有<author>元素
30
/bookstore 文档中的所有<bookstore>元素
31
//author 文档中所有<author>元素
32
book[/bookstore/@specialty=@style] 所有<book>元素,其style属性值与根节点下bookstore节点的specialty属性值相等。
33
@style 当前节点的style属性
34
book[@style] book节点的style属性
35
author[1] 当年节点的第一个<author>元素
36
my:book 名称空间名为my的元素<book>
37
book[excerpt] 所有<book>元素,至少包含一个<excerpt>子元素
38
author[.="Matthew Boj"] 所有值为“Matthew Boj”的<author>元素
39
40

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40
