2014-01-07 13 views
-1

如何,使用XPath我可以分析這個HTML,並最終能夠訪問的H2標題「美孚欄」列表,「酒吧巴茲」,並獲得第內容列表與每個H2「相關聯」?如何XPATH多一點的結構爲HTML文檔

<!-- lots of html --> 
<h2>Foo bar</h2> 
<p>lorem</p> 
<p>ipsum</p> 
<p>etc</p> 

<h2>Bar baz</h2> 
<p>dum dum dum</p> 
<p>poopfiddles</p> 
<!-- lots more html ... --> 

我最近的查詢只翻出了一段內容從我無法找出哪些H2標籤它屬於:

//h2/following-sibling::p 

我的HTML是一種特殊的情況下,每H2之後是相同數量的p標籤。 因此,笨重的OR解決方案返回我需要的元素。

//h2 | //h2/following-sibling::p 

,因爲我敢肯定有一個更優雅的和廣義的解決方案我不提供這個作爲答案。

+0

我沒有在這裏看到一個問題,我看到一段HTML和你說一些你想。你嘗試過什麼嗎?你得到一個錯誤?做你真的對我們有疑問嗎? –

+0

我編輯了我的問題。最近我得到的結果是使用這個查詢:「// following-sibling :: h2」但是很多人都知道,它不會返回段落合作ntent。 – Carl

回答

1

以下XPath會發現它後面是<p>任何h2

//h2[following-sibling::p] 

如果你能具體談談的標準(例如必須有確切3 <p>兄弟姐妹,沒有<table>的等等,那麼我們可以更具體此外,使用//是不幸的 - 這應該是收緊,以配合您xhtml文檔流。

+0

這是偉大的斯圖爾特。我試過這個,它確實給我返回了h2標籤/內容。正如我所提到的,我也希望這些p標籤的內容能夠知道它們屬於哪個h2。這可能與XPath? – Carl