Jsoup Element.text () прерывистый? - PullRequest
1 голос
/ 14 апреля 2011

В следующем фрагменте кода:

  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>

1 Ответ

2 голосов
/ 14 апреля 2011

Первая ссылка вообще не содержит текста. Содержит изображение. Так что Jsoup отлично справляется со своей работой.

Возможно, вы сначала захотите использовать Element#hasText(), чтобы проверить, содержит ли ссылка текст.

if (link.hasText()) {
    linkText += link.text();
}
...