【问题标题】:JAXB Vs JDOM : is it possible to update xml file using JAXBJAXB Vs JDOM:是否可以使用 JAXB 更新 xml 文件
【发布时间】:2011-11-01 17:46:02
【问题描述】:

我曾使用 JDOM 在任何 XML 文件中执行 xml 数据输入和更新,但现在我尝试使用 JAXB 代替 JDOM 但遇到了一些困难。

我知道在 jaxb 中进行编组和解组,但是在将新数据输入到指定位置 (node) 的 xml 中时,我发现了困难。例如for new entry Japan where id = Asia

<file>
   <parent>
       <node id="Asia">
           <name>India</name>
           <name>China</name>
       </node>
       <node id="Europe">
          <name>UK</name>
       </node>
    </parent>
</file> 

有没有人知道它。

【问题讨论】:

    标签: java xml jaxb


    【解决方案1】:

    如果我没记错的话,JAXB 和 JDOM 和完全不同的东西。 JAXB 会将 java 对象序列化为 XML 格式,反之亦然。 JDOM 只是读取 XML 文件并将其存储在 DOM 树中,然后可以使用该树来修改 xml 本身。

    以这种方式使用 JAXB 就像尝试在运行时向一个类添加一个新变量。这是不可能的。 (至少据我所知)。

    【讨论】:

    • 哦,我不太清楚,但我正在尝试解组(read xml file &amp; convert it to java object)并在运行时添加新对象,最后编组到 xml 文件,但我认为你是对的,这就是为什么我做不到。谢谢。
    • @ExtremeCoder - 在某些方面 JAXB 和 JDOM 是相似的,因为它们都将 XML 读入内存中的表示。您可以将 JAXB 模型视为有类型的 DOM,而将 JDOM 模型视为无类型的 DOM。由于 JDOM 是无类型的,您可以轻松添加所需的任何节点,但 JAXB 添加与映射字段/属性和类型相对应的新数据没有问题。
    • @BlaiseDoughan:我想知道,使用 JAXB 在 xml 文件中输入新数据是否有效还是应该使用 JDOM?我知道可以使用 Jaxb 和 JDOm 添加数据,但哪个更好?
    • 如果您使用 java 对象作为数据条目,那么 JAXB 就是为您的要求而构建的 :)
    • 只有当它实际上是一个java对象或者作为java对象有意义时才将它转换为java对象。否则,如果您只是操纵它,请使用仅 JDOM 方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多