JaxB - 将未包装的对象列表解组为集合

时间:2017-02-21 11:48:59

标签: java xml jaxb unmarshalling

有一个带有XML响应类型的史诗REST API,它在root元素上有一个未包装的对象集合。

看起来像这样:

<root>
  <carName>Car1</carName>
  <carNumber>1</carNumber>
  <carType>SAV1</carType>
  <carName>Car2</carName>
  <carNumber>2</carNumber>
  <carType>SAV2</carType>
  <carName>Car3</carName>
  <carNumber>3</carNumber>
  <carType>SAV3</carType>
  <count>3</count>
</root>

我试图将此作为ListCar对象解组:

@XmlRootElement
public Root {

  @XmlElement
  private List<Car> cars;

  @XmlElement(name = "count")
  private Integer count;

  ...
}

...其中Car是简单的jaxb bean,每个原始类型字段都有@XmlElement(name = "...")个注释。但是,count以外的所有字段均为null

尝试使用这样的结构而不是无名@XmlElement

@XmlElements({
  @XmlElement(name = "carName", type = String.class),
  @XmlElement(name = "carNumber", type = Integer.class),
  @XmlElement(name = "carType", type = String.class)
})

...现在我有一个9项数组而不是3项,其中,子Car类的每个字段都存储为一个独立的数组项。

所以,问题是如何将这样的XML结构解组为精心设计的POJO List

0 个答案:

没有答案