2012-01-16 149 views
0

我想添加一個回車符和換行字符來格式化XML,以便每個元素都出現在MS記事本中它自己的行上。回車和換行XML - Java

我嘗試了這裏所建議的:How to pretty print XML from Java?。在每個關閉元素後添加換行符。對於更復雜的編輯器,如richText和gedit等,換行符就足夠了。然而,在記事本中,我似乎也需要一個回車符,以便讓每個元素都在它自己的行上。

有沒有辦法通過改變文件轉換器的屬性來介紹?如果沒有,有沒有辦法做到這一點,而不必分析整個XML文檔並手動添加它們?

+2

請注意,XML規範的[新行處理部分](http://www.w3.org/TR/REC-xml/#sec-line-ends)指出XML中需要的換行符文件是換行符。 – buc 2012-01-16 23:37:16

+0

@buc我看到了,所以添加回車符將會超出XML標準規範嗎? – travega 2012-01-16 23:55:19

+1

@travega我不認爲元素之間的空白是重要的,所以不是真的。該規範可能試圖說的是,顯示XML的軟件不應該要求您爲新行使用不同的字符。 – millimoose 2012-01-17 00:07:04

回答

3

你可以自己實現Writer,它包裝了一個現有的Writer/OutputStream,並且在寫入時用「\ r \ n」替換「\ r \ n」。如果XML文本中的空白不重要,這應該足夠好。然後,將包裝的實例傳遞給輸出XML的代碼。

1

只需做一個簡單的替換全部\><>^p<其中^p是在MS Word中特殊格式的段落標記。