1

在以下代码片段中:

  String linkHref = "";
  String linkText = "";
  Elements links = div.getElementsByTag("a");
  for (Element link : links) {
    linkHref = link.attr("href");
    linkText += link.text();              
    break;
  }           

linkText 有时是空的,即使我可以在 WebView 上清楚地看到链接文本在那里

另一方面,linkHref 总是以正确的值结束。

什么可以解释这种看似断断续续的行为?

这是 Jsoup 中的错误吗?还有什么我可能会错过的吗?

更新,在下面回答@BalusC 的问题: Jsoup 版本是jsoup-1.5.2和 div.html() 说:

<div class="d2 dl"> 
 <a href="nextp.html" class="cO"><img src="images/no001.jpg" alt="" vspace="0" width="69" border="0" height="69" hspace="0" /></a> 
 <span class="bc">2.</span> 
 <a accesskey="2" href="nextp.html"> Subject line </a> 
</div> 
<p class="aG">Human resource policies are viewed as a valuable to understand the companies.</p> 
<div> 
</div>
4

1 回答 1

2

第一个链接根本不包含文本。它包含一个图像。所以 Jsoup 的工作做得非常好。

您可能想使用第Element#hasText()一个来检查链接是否有文本。

if (link.hasText()) {
    linkText += link.text();
}
于 2011-04-14T02:24:09.653 回答