2011-07-30 5 views
1

Jsoupを使用してダウンロードしたファイルを印刷したいとき、改行がある場合はDocTypeの情報がありません。これは意図されているのか、これはバグですか?例えばJsoupは、改行が含まれている場合、DocTypeの追加情報を取得します

DOCTYPEは、以下のようになります。

<!DOCTYPE html 
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

そして、私は(doc.htmlを使用してそれを印刷する場合)またはdoc.toString()私が手:

<!DOCTYPE html> 

もしそこに折れ線がないなら、私はすべての情報を含む完全なDocTypeを手に入れます。

私はそれを解決するために何ができますか?

乾杯 ベーネ

答えて

0

私の問題は、パーサーをバイパスすることによって解決することができます。

org.jsoup.Connection con =Jsoup.connect(url).userAgent(USER_AGENT).timeout(MAX_TIMEOUT).followRedirects(true); 
Response resp = con.execute().method(Method.GET); 
completeFile = resp.body(); 
doc = resp.parse(); 

は今、あなたは変数にフィルタリングされていない/未解析のコード「completeFile」を持って、きちんと文書に1を解析されました"doc"

私はこれが誰かの助けになることを望みます。

乾杯ベネ

2

はい、これはバグです。それを指摘してくれてありがとう。 tokeniserは、doctype名と公開識別子の間の空白を正しく無視していませんでした。

私はfixed the bugでした。jsoup 1.6.2で利用可能です。

関連する問題