2013-04-13 41 views
0

簡單的問題,這是從Jsoup introduction page的例子:我必須強制轉換,但他們的榜樣不(Jsoup文檔類型)

String html = "<html><head><title>First parse</title></head>" 
    + "<body><p>Parsed HTML into a doc.</p></body></html>"; 
Document doc = Jsoup.parse(html); 

現在,這並不爲我工作,Netbeans的說,你不能只需從節點文檔轉到文檔類型即可。夠公平的,所以我強調並且錯誤消失了。像這樣:

編輯:這不起作用!

String html = "<html><head><title>First parse</title></head>" 
    + "<body><p>Parsed HTML into a doc.</p></body></html>"; 
Document doc = (Document) Jsoup.parse(html); 

類型轉換不起作用:

Exception in thread "main" java.lang.ClassCastException: org.jsoup.nodes.Document cannot be cast to org.w3c.dom.Document 
    at scraping.Scraping.main(Scraping.java:24) 

(它有點令人沮喪的學習新的東西,然後你只從被原始形式的文檔實例得到所有這些錯誤顯示時)

編輯:這是錯誤:

required: org.w3c.dom.Document 
found: ord.jsoup.nodes.Document 

非常感謝

+1

所有'parse()'方法都返回一個'Document'。這是什麼版本的jsoup? Jsoup可以解析你推送給它的任何內容。如果Ajax在將它傳遞給JSOUP後改變了HTML,它顯然不會解析新的內容。 –

+0

我正在使用Jsoup 1.7.2,感謝Ajax評論,我知道每次數據通過時都需要重新解析。我之前使用的一些框架在AJAX方面存在問題。 – Joseph

+2

您正在使用來自兩個不同包的「文檔」類。你的聲明聲明一個('org.w3c.dom.Document'),'parse'返回另一個。我並不確信類型轉換實際上會修復它。 –

回答

2

如果任何人有興趣,文檔類型是分開的Jsoup庫,通過進口獲得的:

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

這使得代碼做工精細(參見上Jsoup網頁的例子)

相關問題