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