JAXB使用不同标记解组XML元素

时间:2013-02-19 10:01:01

标签: 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解组为对象。问题是每个元素都有一些唯一的标记。我想把这些值放在List中,但我不知道该怎么做。

1 个答案:

答案 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?

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