1

次のコード スニペットでは、次のようになります。

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

WebView でリンク テキストがあることをはっきりと確認できる場合でも、linkText が空になることがあります。

一方、linkHref は常に正しい値になります。

この一見断続的な動作を説明できるものは何でしょうか?

これは Jsoup のバグですか? 私が見逃しているかもしれない何か他のものはありますか?

Update、以下の @ 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 に答える