xpath关于./ .// //../
时间: 2023-09-30 21:07:02 浏览: 42
XPath 是一种用于在 XML 或 HTML 文档中查找信息的语言。它使用路径表达式来选择 XML 或 HTML 文档中的节点或节点集合。
- `./`:表示当前节点,例如 `./div` 表示当前节点下的所有 div 元素。
- `//`:表示从文档根节点开始查找,例如 `//div` 表示文档中所有的 div 元素。
- `../`:表示当前节点的父节点,例如 `../div` 表示当前节点的父节点下的所有 div 元素。
- `.//`:表示从当前节点开始查找,包括当前节点本身。例如 `.//div` 表示当前节点及其子孙节点中的所有 div 元素。
需要注意的是,`./` 和 `.//` 的区别在于 `./` 只会选择当前节点的直接子节点,而 `.//` 会选择当前节点的所有后代节点。`//` 和 `../` 的区别在于 `//` 会从文档根节点开始查找,而 `../` 只会选择当前节点的父节点。
相关问题
xpath里//和./的区别
在XPath中,"//"和"./"都是用于定位节点的路径表达式,但它们有一些区别。
1. "//":它表示选择文档中的任何位置的节点。无论节点在文档的任何位置,都会被选择。例如,使用"//div"将选择文档中所有的 div 节点。
2. "./":它表示选择当前节点的子节点。它是相对路径表达式,以当前节点为基准。例如,使用"./div"将选择当前节点下的所有 div 子节点。
总结起来,"//"用于选择文档中的任何位置的节点,而"./"用于选择当前节点的子节点。
.//在xpath中的作用
".//" 在 XPath 表达式中表示当前节点的所有后代节点,不论它们的深度和层级。它和 "//" 运算符的作用是一样的,只是省略了起始的 ".",因此也经常被称为简写语法。
例如,对于以下 XML 文档结构:
```xml
<bookstore>
<book category="科幻">
<title>银河帝国</title>
<author>艾萨克·阿西莫夫</author>
<price>35.00</price>
</book>
<book category="小说">
<title>霍乱时期的爱情</title>
<author>加西亚·马尔克斯</author>
<price>28.00</price>
</book>
</bookstore>
```
如果要选取所有书店中的作者节点,可以使用以下 XPath 表达式:
```xpath
//author
```
如果要选取当前节点 bookstore 的所有后代节点中的价格节点,可以使用以下 XPath 表达式:
```xpath
.//price
```
注意,".//" 运算符只会选取当前节点的后代节点,不会包含当前节点自身。如果要同时包含当前节点,可以使用 "./" 运算符,即:
```xpath
./price
```