0

我正在使用 Jsoup 库在我的 android 应用程序中解析 html。这是我要解析的 html 页面中的列:

<TD width="9%" ROWSPAN = 2>Days</TD>

现在我想获取该列的所有行。我使用以下代码确实实现了我的目标,但成功还很遥远:

StringBuilder s = new StringBuilder(100);

Document doc = Jsoup.parse(htmlPage);

Elements links = doc.select("table tr.Day");

for (Element link : links) 
{
    String linkHref = link.attr("href");
    System.out.println(linkHref);
    s.append(linkHref);
    String linkText = link.text();
    System.out.println(linkText);
    s.append(linkText);
}

我搜索了很多但无济于事。请帮助我。在此先感谢。

4

1 回答 1

1

假设您的 html 看起来与此类似:

  <table> 
   <tbody>
    <tr>
     <td width="9%" rowspan="2">Days</td> 
     <td>a</td> 
     <td>b</td> 
     <td>c</td> 
     <td>d</td> 
    </tr>
   </tbody>
  </table>

如果我理解正确,您希望td标签下的所有内容都带有天数。

Document doc = Jsoup.parse(htmlPage);

for( Element element : doc.select("td:contains(days) ~ *") ) // Select everything followed after the 'td' tag with 'days' text
{
    System.out.println(element); // do something with the elememnt
}

在获得此输出之前使用发布的 html:

<td>a</td>
<td>b</td>
<td>c</td>
<td>d</td>
于 2013-02-19T11:59:23.397 回答