2010-10-26 80 views
0

我有一個對話框,用戶通過gui控件插入各種數據, 並且這些信息被保存爲xml文件(用java實現)。
存儲在xml文件中的信息是應用程序的配置信息 。
我可以手動修改xml配置文件,但我也希望通過UI提供此功能。
因此,當對話框打開時(用於創建配置),用戶輸入的各種值填充相應的定義良好的對象。
一旦用戶按下「保存」,對象中的信息將被存儲爲xml。
現在我正在考慮提供通過UI編輯文件的選項。因此,相同的對話框會顯示給用戶,但這次配置信息已經由加載的文件填充。相應的對象也被填充。
我不確定此時修改文件的最佳方式是什麼。
我是否應該使用2個對象,1個存儲所有文件的信息,1個存儲對話框中的修改值,並開始比較對象以進行更改,以便修改文件?或者我應該刪除該文件並創建一個新文件?
哪一個是最好的方法,我將如何進行每個?修改java中的xml文件

謝謝

回答

0

考慮數據流。用戶將使用GUI並進行更改。當他們進行修改時,GUI上的數據與XML不一致。如果用戶選擇保存數據,那麼一個簡單的編組操作(如果使用JAXB則不重要)將確保更新XML。您不需要比較每個字段,沒有意義 - 當然,您在將內容提交到文件之前已經對其進行了驗證。如果用戶選擇取消,則不進行編組。

無需進行備份,也無需比較XML中已有的內容。但是,如果用戶需要能夠撤消保存(例如恢復到以前的配置),那麼您需要一個備份結構(或在內存中維護一堆GUI模型)。儘管如此,我不會推薦這種方法,因爲你只是在夾雜着不必要的複雜性。用戶通常對保存或取消按鈕感到滿意,並且沒有恢復。

0

保持簡單。只需使用更新的對象覆蓋整個文件。那麼你不會需要任何特殊的代碼爲每個案件。您只需要一種方法將對象封裝到文件中,並使用一種方法解除封裝。

+0

應該先創建備份文件嗎? – Cratylus 2010-10-26 20:38:09