如何在不覆盖现有数据的情况下使用DOM附加现有XML文件?

时间:2012-07-26 11:37:39

标签: java xml dom append

我创建了一个简单的XML文件,我正在编写一些推文,我会在每次批处理中收集这些推文。 我希望在每次批量运行时附加文件而不是重写文件。目前它正在每批次运行时覆盖当前文档。

请帮帮我!!

1 个答案:

答案 0 :(得分: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. 将更新的文档写入文件(覆盖旧数据)。