2013-02-19 64 views
0

我有这种结构的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的数据编出的一个对象。问题是每个元素都有一些独特的标签。我正在考虑把这些值放在列表中,但我不知道该怎么做。

+0

使用地图<字符串,字符串> – BobTheBuilder 2013-02-19 10:08:40

回答

2

是的,它可能很容易,为元素标签制作一个Element对象,并在其中放置所有可能的子标签,如果JAX-B在您的XML中找不到它们,它将使它们保持为空,所以您会得到一个体面的对象。

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

如果元素标签的可能的子标签实在太多了,迅速改变或未知的,你可以尝试去用一个<字符串,字符串>结构,就像这里描述的那样:How to serialize HashTable<String, String> to XML using JAXB?

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