如何在JAXB中将多个元素映射到单个类

Vla*_*mir 2 java mapping jaxb unmarshalling

我在输入上有以下XML:

<root>
 <response1></response1>
</root>
Run Code Online (Sandbox Code Playgroud)

要么

<root>
 <response2></response2>
</root>
Run Code Online (Sandbox Code Playgroud)

并且可能有很多响应标记,我需要将每个响应标记映射到单个Response类,因为它们具有几乎相同的结构.

在JAXB中很容易吗?

谢谢.

bdo*_*han 5

这可以通过@XmlElements注释完成:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Root {

    @XmlElements({
        @XmlElement(name="response1", type=Response.class),
        @XmlElement(name="response2", type=Response.class),
        @XmlElement(name="response3", type=Response.class)
    })
    private Response response;

}
Run Code Online (Sandbox Code Playgroud)