2012-09-15 61 views
0

得到一個特定的ID我有一個像jsoup從HTML文件

<div class="student"> 
<h4 id="Classnumber100" class="studentheading"> 
    <a id="studentlink22" href="/grade8/greg">22. Greg</a> 
</h4> 
<div class="studentcategories"> 
<div class="studentneighborhoods"> 
</div> 
</div> 
</div> 

我想用JSOUP,以便獲得url =/grade8一個HTML文件/格雷格和「22格雷格」。

我選擇

Elements listo = doc.select("h4 #studentlink22"); 

試過,我無法得到的值。

其實我想根據Classnumber100 選擇有300條記錄中的HTML頁面,用一致的唯一的事情就是「Classnumber100。

所以我想我的選擇,以classnumber100後選擇所有的HREFs和文字。 我怎樣才能做到這

我試圖 doc.select(「類#studentheading」);以及許多其他的可能性,但他們沒有工作

+0

感謝您的回覆。是的,我遵循http://jsoup.org/apidocs/org/jsoup/select/Selector.html並基於我使用#id –

回答

1

首先,多個元素不應該共享相同的ID,因此這些元素中的每一個都應該是而不是的ID是Classnumber100。但是,如果是這種情況,那麼您仍然可以使用選擇器[id=Classnumber100]選擇它們。

如果您只對a標籤感興趣,那麼您可以使用[id=Classnumber100] > a

重新閱讀該問題後,看起來您感興趣的h4標籤共享studentheadingclass屬性。在這種情況下,您可以使用類別選擇器,即

doc.select(".studentheading > a") 
+0

對不起,它不是ID,我的意思是相同的類名稱 –

+0

感謝bdares這解決了我的問題。你能告訴我爲什麼你有> a。我明白.studentheading是身份證。但是如何在這裏工作 –

+1

'>'表示您即將給出一個子選擇器。 – bdares

1

select方法查找HTML標記,這裏H4和一個,然後其次屬性,如果你告訴它這樣做。你是否去過jsoup網站,因爲這種情況很好地描述了select的使用。

例如

// code not tested 
Elements listo = doc.select("h4[id=Classnumber100]").select("a"); 

String text = listo.text(); // for "22. Greg" 
String path = listo.attr("href"); // for "/grade8/greg"