这是学校,如果你知道你的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。 – Femaref 2010-08-07 15:55:53
你基本上是正确的。关于#2,'// * [// a]'不会选择所有具有后代'a'的元素,如果文档中包含'a',则选择所有元素。为了选择具有后代“a”的所有元素,您需要使谓词过滤器相对于匹配的元素:'//* [.// a]' – 2010-08-07 16:30:47
好吧,所以任何谓词的位置form [// a],[/ a]是不相关的? 平原[a]怎么样,这个问题的立场呢? 谢谢! (堆栈溢出严重是一种现象) – bloodcell 2010-08-07 17:27:22