2012-07-26 59 views
1

我已經創建了一個簡單的XML文件,我正在寫一些推文,我收集每批運行。 我想要在每批運行上追加文件而不是重寫。目前它正在覆蓋每批運行中的當前文檔。如何在不覆蓋現有數據的情況下使用DOM附加現有的XML文件?

可以幫我解決這個問題!

+1

人們需要知道您正在使用哪個XML庫。示例代碼總是有用的。 – monkjack 2012-07-26 11:39:56

+0

你可能需要「手工」。我建議使用除結構化文檔(XML,JSON,YAML)之外的其他數據存儲來完成此類任務。簡單的CSV可能是更好或簡單的數據庫。文檔始終有結束標籤等。 – 2012-07-26 12:18:14

回答

0

使用此:

FileWriter writer = new FileWriter(file,true); 

將在追加模式下打開該文件。

請注意,這可能會導致一個問題,如果您有:

<root> 
    <sometag></sometag> 
</root> 

,然後你再追加相同的結構,則下次讀取該文件時,你會得到:

<root> 
     <sometag></sometag> 
    </root> 
<root> 
     <sometag></sometag> 
    </root> 

這是無效的。所以如果你以後需要解析這個xml,你必須這樣做:

  1. 閱讀整個xml內容。
  2. 向文檔對象添加新元素(使用DOM解析器)
  3. 將更新的文檔寫入文件(覆蓋舊數據)。
相關問題