使用Java在XML上进行CRUD

时间:2014-10-26 13:20:18

标签: java xml dom jaxb

我正在开发一个java应用程序,我正在使用XML来存储应用程序中的设置和其他数据。我已经阅读了有关Java首选项管理器API但我觉得在我的应用程序中存储XML更方便。我开始使用JAXB首先,但是我发现任何教程都会在创建后修改XML。我的应用程序涉及存储用户的电子邮件帐户详细信息。当用户动态添加他的帐户时,我需要将它们添加到XML中。所以我要求找到JAXB方便(或者更确切地说,我找到任何教程来更新或修改XML)。我找到的唯一其他选项是DOM解析器http://docs.oracle.com/javase/tutorial/jaxp/dom/readingXML.html。但我觉得这对于这么简单的application.speed太复杂了,记忆等对我来说无关紧要。还有其他选择吗?

3 个答案:

答案 0 :(得分:0)

This可以是一个很好的(面向Java)解决方案。除了Berkeley DB enables the development of custom data management solutions, without the overhead traditionally associated with such custom projects.还基于XML文件。它与Java lang的集成非常complete documentation

答案 1 :(得分:0)

使用JAXB,您可以:

  1. 将XML解组为Java对象。
  2. 操纵Java对象以修改XML。
  3. 生成一个新XML文档的对象,您可以使用它来替换原始XML。
  4. 或者:

    1. 将XML解析为DOM
    2. 使用JAXB Binder
    3. 解组XML
    4. 修改对象
    5. 使用Binder将更改应用回DOM。
    6. 写出替换原始XML的DOM

答案 2 :(得分:-1)

我想指出XMLBeam披露:我与该项目有关联)。此库非常适合以XML格式存储配置值,而应用程序增长时则保持XML格式,而无需更改Java API。

这就是IO操作的样子:

Projection projection = projector.io().file(file).read(Projection.class);

projector.io().file(file).write(projection);

您可以获得一个内容IO处理和XML内容的静态类型访问。配置数据的模式是在JAR中包含默认值模板,如果在磁盘上找不到配置文件则读取此模板,并在配置更改时将其写回磁盘。但是,当然您也可以从头开始创建文档(在教程中描述)。