【问题标题】:How to append an existing XML file using DOM without overwriting the existing data?如何使用 DOM 追加现有 XML 文件而不覆盖现有数据?
【发布时间】:2012-07-24 23:43:16
【问题描述】:

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

请帮帮我!!

【问题讨论】:

  • 人们需要知道您使用的是哪个 XML 库。示例代码总是有帮助的。
  • 您可能必须“手动”完成。我建议使用结构化文档(XML、JSON、YAML)以外的其他数据存储来完成此类任务。简单的 CSV 可能更好或更简单的数据库。文档末尾总是有结束标签等。

标签: java xml dom append


【解决方案1】:

使用这个:

FileWriter writer = new FileWriter(file,true);

这将以追加模式打开文件。

请注意,这可能会导致问题,如果您有:

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

然后你再次追加相同的结构,下次你读取文件时你会得到:

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

这是无效的。所以如果你以后需要解析这个xml,你必须这样做:

  1. 读取整个 xml 内容。
  2. 向文档对象添加新元素(使用 DOM 解析器)
  3. 将更新的文档写入文件(覆盖旧数据)。

【讨论】:

    猜你喜欢
    • 2013-06-19
    • 2018-03-05
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多