步驟一步的答案。
要選擇與div[@id='content-area']
祖先元素,這是它們各自的父母的第二兒童的使用:
//div[@id='content-area']//div[2]
要選擇第二(按文檔順序)div
元件與div[@id='content-area']
祖先使用:
(//div[@id='content-area']//div)[2]
請注意區別。
然後,選擇元素,這是他們各自父母的第二個孩子的,只要他們有一類「媒體庫項目」使用:
//div[@id='content-area']//div[2][@class='media-gallery-item']
選擇元素,它們是從第二那些具有類media-gallery-item
兒童的(各自的父母):
//div[@id='content-area']//div[@class='media-gallery-item'][2]
要選擇第二(按文檔順序)與div[@id='content-area']
祖先div
元件,提供具有media-gallery-item
類:
(//div[@id='content-area']//div)[2][@class='media-gallery-item']
要從所有div
元件與div[@id='content-area']
祖先和media-gallery-item
類選擇第二(按文檔順序):
(//div[@id='content-area']//div)[@class='media-gallery-item'][2]
規格引用通過@Alejandro的建議:
一個謂詞過濾一個關於軸的節點集 產生一個新的 節點集。對於在 節點集合的每個節點將被過濾,將 PredicateExpr已與 節點作爲上下文節點評價,隨着 數量的節點的節點設定爲 上下文大小,以及與接近 位置在該節點的節點集合相對於 於軸線作爲 上下文位置
http://w3.org/TR/xpath/#predicates
的成員的接近位置0相對於軸的節點集合爲 ,其定義爲節點集合中的節點集合 在文檔 中排序的位置,如果該軸是前向軸 且以反向文檔順序排列,如果軸是軸
http://w3.org/TR/xpath/#dt-proximity-position
底線的反向是,位置謂詞工作相對於所述軸線。你需要括號來明確地聲明優先級。因此軸不是child
,但是在計算位置時將考慮解析descendant-or-self
軸後的節點集。
恰在第一次重複中發現[如何使用XPath選擇最後N個元素?](http://stackoverflow.com/questions/458596/how-do-i-select-the- last-n-elements-with-xpath) – 2011-02-10 19:12:02
這不是重複的。我想要一個特定的位置並將它與另一個謂詞結合起來。另一篇文章需要最後的n個項目(沒有其他謂詞,不是確切的位置) – 2011-02-12 13:39:06