Android скачать HTML и ошибка разбора - PullRequest
3 голосов
/ 11 января 2011

Я пытаюсь загрузить html-файл, используя ul страницы. Я использую 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);

При запуске я получаю сообщение о том, что атрибут attr не определен для элемента type. Что я сделал не так? Простите, если это кажется тривиальным.

Ответы [ 2 ]

2 голосов
/ 18 января 2011

Убедитесь, что Element относится к org.jsoup.nodes.Element, а не к чему-то другому.Проверьте ваш импорт.Также убедитесь, что Document относится к org.jsoup.nodes.Document.Это именно не имеет getElementsByTagName() метод.Jsoup не использует API org.w3c.dom.

Вот полный пример с правильным импортом:

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"); 
        // ...
    }

}
0 голосов
/ 11 января 2011

Как я понимаю, Элемент здесь - org.w3c.dom.Element.Затем используйте meta.getAttribute() вместо attr.Элемент класса просто не имеет такого метода.

...