XPath(eXtensible Path)可扩展路径:主要用来寻址XML文档树中的节点。
XPath在实际应用中总是通过XPath表达式的形式来表现,XPath表达式的计算结果可以是节点集合、字符串、数值、布尔值等四种类型的一种。
XPath表达式的语法:
1、节点:
在一个XML文档中,元素、属性、文本、注释等都可以看做节点,最常用的节点为元素、属性和文本,需要注意的是,属性和属性值被看做一个节点,元素和元素内容则被看做两个节点。
2、根节点:用字符"/"代表
XPath表达式中的根节点可以看做XML源文档本身,根节点就是根元素的父节点。
3、上下文节点:用字符"."代表
根据上下文环境确定的了点,可以将上下文节点暂时视为正在处理的节点。
4、元素节点:用元素名来代表
例:表达式"books”,表示上下文节点下的所有<books>子元素的集合。
5、属性节点:用"@+属性名"表示
例:表达式"@id",表示上下文节点的"id"属性。
6、所有子元素节点:用"*"表示
7、所有属性节点:用"@*"表示
8、父节点:用".."表示
9、所有节点:用函数node()表示
10、文本节点:用函数text()表示
11、父子关系:用字符"/"表示
例:books/book,表示<books>元素下所有<book>元素。
12、祖先后代关系:用字符"//"表示
例:books//name,表示以元素<books>为祖先的所有<name>元素节点。
13、并列关系:用字符"|"表示
例:a|b,表示元素a和元素b,实际上是包含元素<a>和元素<b>的节点集。
14、约束关系:用"[ ]"括起来表示
例:books/book[2],表示<books>元素下的第二个<book>元素。
注:中括号内的表达式必须是XPath表达式。
XPath在实际应用中总是通过XPath表达式的形式来表现,XPath表达式的计算结果可以是节点集合、字符串、数值、布尔值等四种类型的一种。
XPath表达式的语法:
1、节点:
在一个XML文档中,元素、属性、文本、注释等都可以看做节点,最常用的节点为元素、属性和文本,需要注意的是,属性和属性值被看做一个节点,元素和元素内容则被看做两个节点。
2、根节点:用字符"/"代表
XPath表达式中的根节点可以看做XML源文档本身,根节点就是根元素的父节点。
3、上下文节点:用字符"."代表
根据上下文环境确定的了点,可以将上下文节点暂时视为正在处理的节点。
4、元素节点:用元素名来代表
例:表达式"books”,表示上下文节点下的所有<books>子元素的集合。
5、属性节点:用"@+属性名"表示
例:表达式"@id",表示上下文节点的"id"属性。
6、所有子元素节点:用"*"表示
7、所有属性节点:用"@*"表示
8、父节点:用".."表示
9、所有节点:用函数node()表示
10、文本节点:用函数text()表示
11、父子关系:用字符"/"表示
例:books/book,表示<books>元素下所有<book>元素。
12、祖先后代关系:用字符"//"表示
例:books//name,表示以元素<books>为祖先的所有<name>元素节点。
13、并列关系:用字符"|"表示
例:a|b,表示元素a和元素b,实际上是包含元素<a>和元素<b>的节点集。
14、约束关系:用"[ ]"括起来表示
例:books/book[2],表示<books>元素下的第二个<book>元素。
注:中括号内的表达式必须是XPath表达式。