JAXB多个@XmlRootElement

Sim*_*mmo 3 java xml jaxb

我有一个注释如下的类:

@XmlRootElement(name="response")
@XmlType(propOrder={"paymentid", 
                    "result",
                    "responsecode", 
                    "authorizationcode", 
                    "merchantorderid", 
                    "rrn", 
                    "cardcountry", 
                    "cardtype"})
public class MOTOResponseIn {
...
}
Run Code Online (Sandbox Code Playgroud)

映射XML的根元素也可能是响应旁边的 错误

如何注释该类,以便两个根元素都被允许?

Reh*_*man 5

在这种情况下,不能使用@XmlRootElement。您必须使用ObjectFactory。@XmlElementDecl批注用于表示与命名的复杂类型相对应的根元素。它放置在带有@XmlRegistry注释的类中的工厂方法上(从XML模式生成时,该类始终称为ObjectFactory)。factory方法返回包装在JAXBElement实例中的域对象,希望此URL会有所帮助。

https://dzone.com/articles/jaxb-and-root-elements