在java中修改xml文件

时间:2010-10-26 20:26:05

标签: java xml user-interface

我有一个对话框,用户通过gui控件插入各种数据, 并且此信息保存为xml文件(在java中实现) 存储在xml文件中的信息是配置信息 申请。
我可以手动修改xml配置文件,但我也希望通过UI提供此功能 因此,当打开对话框(用于创建配置)时,相应的明确定义的对象将由用户输入的各种值填充。
一旦用户按下“保存”,对象中的信息将存储为xml 现在我想提供通过UI编辑文件的选项。因此,向用户显示相同的对话框,但这次配置信息已由加载的文件填充。相应的对象也被填充 我不确定此时修改文件的最佳方法是什么 我应该使用2个对象,1个存储所有文件的信息,1个存储来自对话框的修改后的值,并开始比较对象的更改,以便我修改文件?或者我应该删除该文件并创建一个新文件? 哪种方法最好,我将如何进行?

谢谢

2 个答案:

答案 0 :(得分:0)

保持简单。只需使用更新的对象覆盖整个文件即可。那么每个案例都不需要任何特殊代码。您需要的只是将对象编组到文件中的一种方法,以及一种将其解组的方法。

答案 1 :(得分:0)

考虑数据流。用户将使用GUI并进行更改。在他们进行修改的那一刻,GUI上的数据与XML不一致。如果用户选择保存数据,那么简单的编组操作(如果使用JAXB则很简单)将确保更新XML。您不需要比较每个字段,没有必要 - 当然您在将内容提交到文件之前已经验证了内容。如果用户选择取消,则不会进行编组。

无需进行备份,也无需比较XML中已有的内容。

但是,如果用户需要能够撤消保存(例如恢复到以前的配置),那么您将需要一个备份结构(或在内存中维护一堆GUI模型)。不过,我不建议采用这种方法,因为你只是在处理不必要的复杂性。用户通常对“保存”或“取消”按钮感到满意,并且没有“还原”。