我有这种结构的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解组为对象。问题是每个元素都有一些唯一的标记。我想把这些值放在List中,但我不知道该怎么做。
答案 0 :(得分:2)
是的,可以并且非常容易,为元素标记创建一个Element对象并放置所有可能的子标记,如果JAX-B无法在XML中找到它们,它会将它们保留为null,因此您将得到一个体面的对象。
可在此处找到简单的JAX-B简介:http://www.mkyong.com/java/jaxb-hello-world-example/
如果元素标签的可能子标签太多,快速更改或未知,您可以尝试使用&lt; String,String&gt;结构,如下所述:How to serialize HashTable<String, String> to XML using JAXB?
但在大多数情况下,我会选择第一个选项。