1

我在 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;
4

1 回答 1

3

不要将 src 和 javadoc jar 文件添加为外部 jar,而是将它们附加到 jar 中,并将类作为源或 javadoc 附件。

右键单击库 jar 并选择“属性”。在打开的对话框中指定源和/或 javadoc jar 的位置。

于 2013-08-31T09:38:05.087 回答