xpath关于./ .// //../
时间: 2023-10-02 11:06:41 浏览: 124
XPath 语法中,`.` 表示当前节点,`..` 表示当前节点的父节点,`/` 表示从根节点开始查找,`//` 表示在子孙节点中查找。
`./` 表示当前节点下的子节点,例如 `./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
```