我在我的Android应用程序中通过jsoup从http://m.wol.jw.org/en/wol/dt/r1/lp-e/2014/6/26获取文本。 它看起来像:
public static void refreshFromNetwork(Context context) {
Document document;
Elements dateElement;
Elements textElement;
Elements commentElement;
try {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
sDayURL = sURL + "/" + year + "/" + month + "/" + day;
document = Jsoup.connect(sDayURL).get();
if (document.hasText()) {
dateElement = document.select(".ss");
textElement = document.select(".sa");
commentElement = document.select(".sb");
sDate = dateElement.text();
sText = textElement.text();
sComment = commentElement.html();
sSavedForCheckingDate = sLocalDate;
savePrefs(context);
sDayURL = null;
} else {
Toast.makeText(mContext,
mContext.getString(R.string.warning_unstable_connection),
Toast.LENGTH_SHORT).show();
}
} catch (IOException e) {
System.out.println("error");
e.printStackTrace();
}
}
但是文字中有一些hrefs。当光标在它们上面时,弹出文本框。 我无法发布图片,因此请在那里查看:http://habrastorage.org/files/45e/b09/17f/45eb0917f3644bbd9e5ea2b79d98363d.png
但是当我尝试从那个href获取文本时(我从sComment用html获取它),它返回所有文本(当我点击href时显示),而不是它的一部分,就像在弹出窗口中一样。我不是网络开发人员,所以我不明白,如何只获得所需的文字。我该怎么办?
答案 0 :(得分:0)
改为使用sComment = commentElement.text();
。
答案 1 :(得分:0)
按照下面的快照获取弹出窗口中的文字
当您点击链接href时,打开一个新页面,其中包含相同的文本和红色字体,这是您需要的文本,因为它是弹出文本,现在您只需使用
String Href=Scomment.attr("href");
Document doc=Jsoup.connect(Href).get();
Element element= doc.getElementById("p101");
String dialogtext=element.text();
这是你问题的解决方案。 希望它能帮助你