首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java中的Jsoup提取HTML表( span )标记

使用Java中的Jsoup提取HTML表( span )标记
EN

Stack Overflow用户
提问于 2011-07-20 21:46:10
回答 2查看 5.2K关注 0票数 0

我正在尝试提取td名称和span类。在示例代码中,我希望提取第一个td“附件”中的href和第二个td中的span标记。

我想打印鼠标,是-现在,是的KeyBoard,没有双监视器,是-现在,是的

当我使用下面的Java代码时,我得到鼠标是键盘没有双监视器是。

如何获得span类名?

HTML代码

代码语言:javascript
复制
<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 "> 
    &nbsp;<br/> 

 </td> 
代码语言:javascript
复制
<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> 
代码语言:javascript
复制
  <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 "> 
    &nbsp;<br/> 

</td> 

Java代码

私有空printParse(String HTMLdata){

代码语言:javascript
复制
Element table = data.select("table[class="computer_table").first();

Iterator<Element> ite = table.select("td").iterator();


while(ite.hasnext()){

      sysout(ite.next().text());

   }

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-23 01:18:20

代码语言:javascript
复制
Element table = doc.select("table[id=computer_table]").first();

元素结果= table.select("td");

代码语言:javascript
复制
        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"));
        }
票数 0
EN

Stack Overflow用户

发布于 2011-07-22 03:00:59

如果您得到了表元素,那么您所需要的就是获得span。您不需要获得td,因为您可以使用span进行查询,但仍然可以获得相同的结果。下面是代码片段。

代码语言:javascript
复制
Elements span = table.select("span");
    for (Element src : span) {
        if (src.tagName().equals("span"))
            System.out.print( src.attr("class") );
    }

但要确保你有表格元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6768951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档