這是學校,如果你知道你的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