2011-01-10 20 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

Elementorg.jsoup.nodes.Elementを参照していることを確認してください。インポートを確認します。 Documentorg.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

+1

現在受け入れられている回答が間違っていたので、質問でこの質問に遭遇した他の人が間違ったトラックに置かれるのを避けるために正解を追加するのはとても親切でした。 – BalusC

0

私が理解するように、ここの要素はorg.w3c.dom.Elementです。次にattrの代わりにmeta.getAttribute()を使用します。要素クラスは単純にそのようなメソッドを持たない。

+0

申し訳ありませんが、私が使っていたandroid.sax.Element:

はここで正しい輸入品との完全な例です。返信してくれてありがとう。 – Brahadeesh