在以下代码片段中:
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>
答案 0 :(得分:2)
第一个链接根本不包含文字。它包含一个图像。所以Jsoup完美地完成了它的工作。
您可能希望首先使用Element#hasText()
检查链接是否包含文字。
if (link.hasText()) {
linkText += link.text();
}