我有具有这种结构的 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/
如果元素标记的可能子标记太多、变化很快或未知,您可以尝试使用
但对于大多数情况,我会选择第一个选项。
关于java - JAXB 使用不同标签解码 XML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14954687/