2008-10-02 44 views
28

我正在使用org.w3cXML API來打開現有的XML文件。我正在刪除一些節點,而我正在添加其他節點。Java:將DOM寫入XML文件(格式問題)

問題是,添加的新節點被一個接一個地寫入,沒有換行符,也沒有縮進。雖然確實XML文件是有效的,但人類很難對其進行檢查。

無論如何要在每個節點之後添加縮進或至少一個換行符嗎?

+0

如果你已經到了這個問題尋找代碼示例如何在Java中漂亮地打印XML然後看[如何漂亮的從Java打印XML](http://stackoverflow.com/questions/139076/how-to-pretty -print-xml-from-java)。 – 2011-05-04 08:55:57

回答

55

我假設您使用Transformer來進行實際寫作(至StreamResult)。在這種情況下,做到這一點,你叫transform前:

transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); 
+0

很高興爲您服務! – 2008-10-02 09:25:50

18
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); 

「漂亮打印」 的幾個很好的例子來源 How to pretty print XML from Java?