当我用jsoup解析html 文件(存储在本机中)时。我修改了html文件中的一些元素,所以我想保存修改后的html,并替换旧的?有人知道jsoup 中的哪种方法可以完成这项工作吗?
非常感谢!!!
问问题
7230 次
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
将修改后的 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();
于 2012-11-24T13:14:13.570 回答
2
有 6 票的声明答案是正确的,除了一部分,它需要多 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 回答