2013-01-31 55 views
0

我是JSoup的新手,並且一直在使用它幾天而沒有任何問題,直到我遇到這個問題。我試圖從<tr>有一個孩子<td>標記與某一類的表中獲取所有<tr>標記。使用JSoup選擇特定的<tr>標籤

我試圖從this website檢索數據,這就是我想:

document.select("#partedenieve tr:has(td.zonas)"); 

我不知道是否行得通,因爲這裏的問題是,如果你只選擇#partedenieve tr只有它返回thead上的<tr>。我嘗試了其他一些查詢,但是當我最終從tbody獲得<tr>時,它不會返回所有<tr>標籤。

我不知道這個問題是否可能與<tr>上存在的rowspan標記有關,但我目前還沒有運氣。

在此先感謝您的答覆。

回答

1

嘗試:

Elements elts = document.select("tr > td.class"); 

這將返回給定類的所有td元素。所以,你只需要得到每個獨特父:

List<Element> list = new ArrayList<Element>(); 
for (Element elt : elts) { 
    if (!list.contains(elt) { 
     list.add(elt); 
    } 
} 

現在,您list對象包含所有TR元素。