2012-11-24 62 views
3

當我解析 html文件(保存在本地)與jsoup。我修改了html文件中的一些元素,,所以我想保存修改後的html,並替換舊的?
做任何機構知道哪些方法在jsoup可以做的工作?
非常感謝你!jsoup中的什麼方法可以返回修改後的html?

+1

示例︰https://gist.github.com/4139609(雖然代碼不完全可編譯,但代碼的重要部分在那裏)您可以修改代碼以使其代替老的代碼 – nhahtdh

回答

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()); 
+0

我是編程的初學者,就是這樣!thaks! – andyqee

+0

像glen在他的回答中說過的,你應該關閉()你用過的流。 – Zefiro

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();