📅  最后修改于: 2023-12-03 15:09:57.134000             🧑  作者: Mango
在 XML 或 HTML 文档中使用 XPath 时,移动到父元素也是相对常见的操作,这个操作可以使用 XPath 表达式中的 ..
来实现。
下面是一个示例 XML 文档:
<bookstore>
<book>
<title>Harry Potter</title>
<author>J.K. Rowling</author>
<price>29.99</price>
</book>
<book>
<title>The Hobbit</title>
<author>J.R.R. Tolkien</author>
<price>19.99</price>
</book>
</bookstore>
如果我们想要获取 <title>
元素的父元素 <book>
,我们可以使用以下 XPath 表达式:
//title/..
上面的表达式中,//title
选择了所有 <title>
元素,然后 /..
移动到了它们的父元素。这个表达式将返回两个 <book>
元素。
如果我们想要获取 <book>
元素的父元素 <bookstore>
,我们可以使用以下 XPath 表达式:
//book/..
上面的表达式中,//book
选择了所有 <book>
元素,然后 /..
移动到了它们的父元素 <bookstore>
。这个表达式将返回只有一个 <bookstore>
元素。
需要注意的是,在 XPath 表达式中,..
必须放在选择器的末尾,表示要向上移动一层。如果你需要向上移动多层,可以使用多个 ..
,例如:
//title/../../..
上面的表达式移动了两层,返回了整个 XML 文档的根元素。
最后,XPath 还提供了另一种方式来选择父元素,使用 parent::
轴。例如,我们可以使用以下 XPath 表达式来获取 <title>
元素的父元素 <book>
:
//title/parent::book
这个表达式选择了所有 <title>
元素,并通过 parent::book
选择了它们的父元素 <book>
。
以上就是 XPath 移动到父元素的操作介绍。