[英]Extract HTML Table ( span ) tags using Jsoup in Java
我正在嘗試提取 td 名稱和跨度 class。 在示例代碼中,我想提取第一個 td“附件”中的 a href 和第二個 td 中的 span 標簽。
我想打印鼠標,存在,是 鍵盤,否 雙顯示器,存在,是
當我使用下面的 Java 代碼時,我得到,鼠標是鍵盤否雙顯示器是的。
如何獲得跨度 class 名稱?
HTML 代碼
<tr>
<td class="" width="1%" style="padding:0px;">
</td>
<td class="">
<a href="/accessory">Mouse</a>
</td>
<td class="tright ">
<span class='is_present'>Yes</span><br/>
</td>
<td class="tright ">
<br/>
</td>
<tr>
<td class="" width="1%" style="padding:0px;">
</td>
<td class="">
<a href="/accessory"> KeyBoard</a>
</td>
<td colspan="2" class="" style='text-align:center;'>
<small>No</small>
</td>
<td class="" width="1%" style="padding:0px;">
</td>
<td class="">
<a href="/accessory">Dual-Monitor</a>
</td>
<td class="tright ">
<span class='is_present'>Yes</span><br/>
</td>
<td class="tright ">
<br/>
</td>
Java碼
私人無效打印解析(字符串HTML數據){
Element table = data.select("table[class="computer_table").first();
Iterator<Element> ite = table.select("td").iterator();
while(ite.hasnext()){
sysout(ite.next().text());
}
}
如果您獲得表格元素,那么您所需要的只是獲得跨度。 你不需要得到 td 因為你可以使用 span 查詢並且仍然得到相同的結果。 下面是代碼片段。
Elements span = table.select("span");
for (Element src : span) {
if (src.tagName().equals("span"))
System.out.print( src.attr("class") );
}
但請確保您有表格元素。
Element table = doc.select("table[id=computer_table]").first();
元素結果 = table.select("td");
for (Element dl : results) {
if(!dl.text().equals("") && dl.text().length() > 1)
pNames.add(dl.text());
if((!dl.select("small").text().equals("")) && dl.select("small").text().length() > 1)
emails.add((dl.select("small").text()));
if(!dl.select("span").attr("class").equals("") && dl.select("span").attr("class").length() > 1)
moneyDollars.add(dl.select("span").attr("class"));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.