【问题标题】:HTML Java parsing basic error?HTML Java解析基本错误?
【发布时间】:2014-12-07 20:09:57
【问题描述】:

应该是一个比较简单的问题,但是我是java新手,不知道答案!

我有以下代码:

String    FTSE    =            "http://www.bloomberg.com/quote/UKX:IND/members";
    doc = Jsoup.connect(FTSE).get();
    Elements trs = doc.select("tr:has(a[href='/quote/III:LN'])");
    Elements values = trs.select("td.value");

    link = values.get(0);
    System.out.println("text : " + link.text());

但是,在倒数第二行和最后一行的“链接”一词下,eclipse 中有红色的波浪线,当我将鼠标悬停在它上面时,它说 this-link 无法解析为变量。

我该如何解决这个问题?

干杯

【问题讨论】:

    标签: java html html-parsing


    【解决方案1】:

    您正在尝试将values.get(0) 分配给变量link,正如Eclipse 认为的那样,该变量没有在其他地方定义或定义。有两个问题和两种可能的解决方案:

    1. 您从未定义过link。定义它并为其分配 values.get 返回的类型:

      SomeType link = values.get(0);

    2. 您在另一种方法中定义了link。由于不在同一个作用域,所以必须为全局作用域定义,然后配合this关键字使用:

      this.link = values.get(0);

    【讨论】:

    • 应该是什么类型的?
    • @BenHarvey 根据cmets的另一个回答,建议你先从Java基础开始,学习基础类型。有了时间和经验,您可能想回到这个问题。
    • 也许对我的问题的回答会比您当前的评论更有用
    【解决方案2】:

    似乎没有定义link。试试:

    YourClass link = (YourClass)values.get(0);
    

    使用values.get 返回的类而不是YourClass

    【讨论】:

    • 确实,在Java中,变量类型应该在使用前声明。
    • 在最后一行的单词 text 下产生一条波浪形的红线,并出现错误 'The method text() is undefined for the type Object'
    • 查看我的编辑。使用 values.get 返回的类型,而不是 Object。并根据需要添加演员表。
    • 对不起,正如我所说,我是 Java 新手,我不太了解。你能把你的意思的代码行给我吗?>
    • 听从诺登海姆的建议。阅读一些关于 Java 的基本教程。你需要它。我们无法猜测values.get 调用返回的类型。
    猜你喜欢
    • 1970-01-01
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 2018-05-21
    • 2018-06-11
    • 2016-09-04
    相关资源
    最近更新 更多