3

我正在尝试使用页面的 ul 下载 html 文件。我正在使用 Jsoup。这是我的代码:

TextView ptext = (TextView) findViewById(R.id.pagetext);
    Document doc = null;
    try {
         doc = (Document) Jsoup.connect(mNewLinkUrl).get();
    } catch (IOException e) {
        Log.d(TAG, e.toString());
        e.printStackTrace();
    }
    NodeList nl = doc.getElementsByTagName("meta");
    Element meta = (Element) nl.item(0); 
    String title = meta.attr("title"); 
    ptext.append("\n" + mNewLinkUrl);

运行它时,我收到一条错误消息,提示未为 type 元素定义 attr。我做错了什么?如果这看起来微不足道,请原谅我。

4

2 回答 2

2

确保Element指的是org.jsoup.nodes.Element,而不是其他东西。验证您的导入。还要确保Documentorg.jsoup.nodes.Document. 它就是没有getElementsByTagName()方法。Jsoup 不使用任何org.w3c.domAPI。

这是一个正确导入的完整示例:

package com.stackoverflow.q4720189;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class Test {

    public static void main(String[] args) throws Exception {
        Document document = Jsoup.connect("http://example.com").get();
        Element firstMeta = document.select("meta").first();
        String title = firstMeta.attr("title"); 
        // ...
    }

}
于 2011-01-18T03:21:56.100 回答
0

据我了解,这里的元素是org.w3c.dom.Element. 然后使用meta.getAttribute()而不是attr. 元素类根本没有这样的方法。

于 2011-01-11T07:02:07.130 回答