2010-10-26 79 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