【发布时间】:2011-04-14 10:24:39
【问题描述】:
在下面的sn-p代码中:
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>
【问题讨论】:
-
什么网址?什么Jsoup版本?
div.html()说什么? -
为什么是
break指令?为什么不直接使用links[0]? -
@manji 很好的观察(+1)。您确定这两种形式是 100% 等效的吗?
-
@manji links[0] 产生“表达式的类型必须是数组类型,但它解析为元素”。您的意思可能是 links.get(0),但这仍然不好,因为如果 Elements 为空,它将产生 IndexOutOfBoundException。
标签: java html html-parsing jsoup