我对这些XPath表达式的含义是正确的吗?

blo*_*ell 5 xpath

这是为了学校,如果你知道你的XPath并且不介意告诉我我是否正确:

1. //a[/b]/a

每个'a'在树中有一个父'a',其中根是'b'.(该位置[/b]无关紧要?即上述等价于//a/a[/b]

2. //*[//a]//a[/a][a]

从左到右分解: //*[//a]意味着所有元素都有一个后代'a',因此//*[//a]//a(相当学校)是指所有'a'元素.并且//*[//a]//a[/a]表示树中所有'a'元素,其中根是'a',最后 - //*[//a]//a[/a][a]表示树中所有'a'元素,其中根是'a',其中有一个子'a'.

感谢您的帮助,似乎无法在任何地方获得直接答案.

Joh*_*ica 1

哪一门课正在向您询问晦涩难懂的 XPath 查询?哇。

  1. //a[/b]/a
    是的,你有这个权利。的位置[/b]无关紧要。

  2. //*[//a]//a[/a][a]
    从技术上讲,这//*[//a]//a相当于//*//a所有具有祖先元素的“a”元素。因此,如果根元素是“a”,则不会匹配。除此之外,是的,你的分析是正确的。

无论如何,几年前,我在 JavaScript 中为我从事的一个项目从头开始实现了一个完整的 XPath 解析器。所以我真的希望我的答案是正确的!