3

jsoupを使用してhtmlファイル(ネイティブに保存)を解析すると。html ファイルのいくつかの要素を変更したので、変更した html を保存して古いものと置き換えたいですか? jsoupのどのメソッドが仕事をすることができるか知っている人はいますか? どうもありがとう!!!

4

3 に答える 3

9

どちらの内容も書けます

document.toString() 

また

document.outerHtml()

ファイルに、どこdocumentから取得されます

Document document = Jsoup.connect("http://...").get();
// any document modifications...

そのようです:

BufferedWriter htmlWriter = 
     new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), "UTF-8"));
htmlWriter.write(document.toString());
于 2012-11-24T13:08:49.263 に答える
2

6 票の宣言された回答は、1 つの部分を除いてすべて正しいです。さらに 1 行のコードが必要です。

「htmlWriter.close();」のいずれか または「htmlWriter.flush();」必要に応じて、または両方。私は同じ問題を抱えており、彼のバージョンを使用したため、彼のコードセグメントの最後に、彼はこの部分が欠けていました(投稿の最初のコメントから見た: gist.github.com/4139609.したがって、完成したコードセグメントは次のとおりです:

BufferedWriter htmlWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputFile), "UTF-8"));
System.out.println("\n" + doc.outerHtml());
htmlWriter.write(doc.toString());
htmlWriter.flush();
htmlWriter.close();
于 2014-08-27T12:32:06.843 に答える
2

変更した jSoup 要素を HTML 文字列に変更します。

http://jsoup.org/apidocs/org/jsoup/nodes/Element.html#html%28%29

String html = document.html();

ファイルへの書き込み:

Writer writer = new PrintWriter("/file.html", html);
writer.write(html);
writer.close();

詳細はこちら: jsoup を使用してカスタム css を html コードに追加する

于 2012-11-24T13:14:13.570 に答える