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

时间:2010-08-07 15:44:48

标签: 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'。

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

1 个答案:

答案 0 :(得分:1)

什么类在奥术XPath查询中向您提问?哇。

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

  2. //*[//a]//a[/a][a]
    从技术上讲,//*[//a]//a相当于//*//a,这意味着所有具有祖先元素的'a'元素。因此,如果根元素是'a',它将不会匹配。除此之外,是的,您的分析是正确的。

  3. 对于它的价值,几年前我在JavaScript中为我正在进行的项目从头开始实现了一个完整的XPath解析器。所以我真的希望我的答案是正确的!