我在 Eclipse 中使用 Jsoup 时遇到了这个问题。我已附加以下 jar 文件: jsoup 1.7.2.jar jsoup 1.7.2.javadoc.jar jsoup 1.7.2.sources.jar 我已将这些 jar 文件作为外部 jar 文件添加到配置路径中,并将它们链接到我存储文件的 C:\USERS 驱动器。该程序没有错误,但是当我运行它时,我在“Element gameElement = firstLottoRow.child(1);”这一行得到 NullPointerException 错误 或任何其他类似这样的代码行,它使用 Jsoup 从 URL 解析 HTML。我得到“元素既没有附加源也没有附加Javadoc,因此找不到Javadoc”的代码行:“Element tbody = table.getElementsByTag("tbody").first();”
我在链接到 jsoup jar 文件的配置路径方面做的一切是否正确,或者任何人都可以建议我做错了什么?非常感谢您的帮助!
这是 Jsoup 代码:
private LotteryDraw extractLotteryDraw(String html) {
LotteryDraw lotteryDraw = new LotteryDraw();
Document doc = Jsoup.parse(html);
Elements elements = doc.getElementsByClass("drawhistory");
//System.out.println(elements.toString());
Element table = elements.first();
Element tbody = table.getElementsByTag("tbody").first();
Element firstLottoRow = tbody.getElementsByClass("lottorow").first();
Element dateElement = firstLottoRow.child(0);
System.out.println(dateElement.text());
Element gameElement = firstLottoRow.child(1);
System.out.println(gameElement.text());
Element noElement = firstLottoRow.child(2);
System.out.println(noElement.text());
String[] split = noElement.text().split(" - ");
int[] numbers = new int[split.length];
int i = 0;
for (String strNo : split) {
numbers[i] = Integer.valueOf(strNo);
i++;
}
lotteryDraw.setNumbers(numbers);
Log.v("DEBUG", "the value of numbers is " + numbers);
Element bonusElement = firstLottoRow.child(3);
Integer bonusBall = Integer.valueOf(bonusElement.text());
lotteryDraw.setBonusBall(bonusBall);
Log.v("DEBUG", "the value of numbers is " + numbers);
return lotteryDraw;