java - JAXB 使用不同标签解码 XML 元素

标签 java xml jaxb

我有具有这种结构的 xml 文件:

<root>
    <elements>
        <element>
            <id>1</id>
            <tag1>some string</tag1>
        </element>
        <element>
            <id>1</id>
            <tag2>some other string</tag2>
        </element>
    </elements>
</root>

是否可以将此类 XML 解码为对象。问题是每个元素都有一些唯一的标签。我正在考虑将这些值放入列表中,但我不知道该怎么做。

最佳答案

是的,这是可能的,而且很简单,为元素标签创建一个 Element 对象,并将所有可能的子标签放在那里,如果 JAX-B 在您的 XML 中找不到它们,它会将它们保留为 null,所以您将得到一个像样的物体。

可以在这里找到简单的 JAX-B 介绍:http://www.mkyong.com/java/jaxb-hello-world-example/

如果元素标记的可能子标记太多、变化很快或未知,您可以尝试使用 结构,类似于此处描述的结构:How to serialize HashTable<String, String> to XML using JAXB?

但对于大多数情况,我会选择第一个选项。

关于java - JAXB 使用不同标签解码 XML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14954687/

相关文章:

java - JAXB 将 XML 解码为抽象类型的错误子类

Java:使用 JAXB 解析 xml 文件后生成 SQL 并插入数据库而不重复的最佳方法?

java - 在 hadoop 中获取作业配置

java - ExecutorService Future::变得非常慢

ios - Swift - 我如何将常规 XML 文件转换为 .plist XML 文件

xml - pig 输出为XML

java - 还有其他方法可以不在每个包中重复 Jaxb 中的包信息吗?

java - 指向 Java LinkedList 节点的指针

java - 指定的超时类型无效 : page load

java - 在 Anypoint Studio (MuleSoft) 中发送电子邮件时出错