2016-10-20 14 views
2

を使用して、私はこの問題は、JavaScriptの要素が1行だけ含まれていることである以下の解析HTMLとJavaScript Jsoup

public Document parse(String content) { 
    return Jsoup.parse(content, "", Parser.xmlParser()); 
    } 

を使用してhtmlタグを含むHTML文字列を解析し、JavaScriptタグです。

また、私は

public Document parse(String content) { 
    return Jsoup.parse(content, "", Parser.htmlParser()); 
    } 

でみてくださいましたし、それは、JavaScriptが正常に動作します...しかし、HTML要素は、終了タグなしで含まれています。例:

<link rel="shortcut icon" href="../../static/public/img/favicon.ico" data-th-remove="all"></link> 

は、私は自分のアプリケーションを実行したときに動作しません

<link rel="shortcut icon" href="../../static/public/img/favicon.ico" data-th-remove="all"> 

ように解析されています。

どうすれば修正できますか? JSOUPを使ってHTMLとJavascriptを一緒に解析する方法はありますか?

:私はちょうどHTMLで終了タグを持たないJSOUP GitHubの上https://github.com/jhy/jsoup/issues/774

よろしく、

答えて

2

link要素を次の問題を作成しました。これはヘッダーでのみ発生します。説明はhttps://developer.mozilla.org/de/docs/Web/HTML/Element/linkを参照してください。

期待ようJSoupあなたはParser.htmlParser()

キャブを使用するときに閉じていないlinkタグを処理することはできませんなぜあなたは、より詳細に説明振る舞いますか?

+1

ご意見ありがとうございます。 最後に、私はSpring IO Platformが提供するThymeleaf 2.1.5を使用していたという問題がありました。そのThymeleafバージョンはXMLパーサーを使用して.htmlファイルを解析するため、すべてのタグに独自の終了タグが必要です。 Thymeleaf 3.0にアップデートし、 'Parser.htmlParser()'を使用して問題を解決しました。 解決策の詳細については、gitHubの問題https://github.com/jhy/jsoup/issues/774を参照してください。ご協力いただきありがとうございます。 – jcgarcia