我们可以像
那样映射XML<root>
<tagA>
<prop>111</prop>
<prop>222</prop>
<prop>333</prop>
<prop>444</prop>
</tagA>
<tagB>
<prop>555</prop>
<prop>666</prop>
</tagB>
<tagC>
<prop>777</prop>
</tagC>
</root>
到
class MyDto {
private List<TagA> tagAProps;
private List<TagB> tagBProps;
private List<TagC> tagCProps;
}
使用JAXB?我不知道如何使用注释直接将元素映射到集合类型。直接映射到POJO有五个不同的类(Root,TagA,TagB,TagC和Prop)。其中TagA,TagB和TagC都是相似的。所以我想拥有这个最低级别的课程。
答案 0 :(得分:1)
您可以利用@XmlElementWrapper
和@XmlElement
注释:
@XmlRootElement(name="root")
@XmlAccessorType(XmlAccessType.FIELD)
class MyDto {
@XmlElementWrapper(name="tagA")
@XmlElement(name="prop")
private List<String> tagAProps;
@XmlElementWrapper(name="tagB")
@XmlElement(name="prop")
private List<String> tagBProps;
@XmlElementWrapper(name="tagC")
@XmlElement(name="prop")
private List<String> tagCProps;
}