2011-01-10 48 views
3

我想下載使用ul頁面的html文件。我正在使用Jsoup。 這是我的代碼:android html下載和解析錯誤

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爲不適合的類型元素定義。 我做錯了什麼?如果這看起來微不足道,請原諒我。

回答

2

確保Element指的是org.jsoup.nodes.Element,而不是別的。驗證您的導入。另請確保Document指的是org.jsoup.nodes.Document。它確實沒有getElementsByTagName()方法。 Jsoup不使用任何org.w3c.dom API。

下面是用正確的進口完整的例子:

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

謝謝。我得到了答案。我正在使用錯誤的元素。 – Brahadeesh 2011-01-18 15:55:23

0

據我所知,這裏的元素是org.w3c.dom.Element。然後使用meta.getAttribute()而不是attr。元素類根本沒有這樣的方法。

+0

對不起,我是用android.sax.Element。感謝您的答覆。 – Brahadeesh 2011-01-11 16:28:07