我在 java 中有我的用户类。当我想解组它时,我得到带有<UserIn>
根元素的 xml,而当我想对它进行编组时,我应该<UserOut>
成为 XML 根元素。如果我提供@XmlRootElement("UserIn")
它不是动态的,它始终是 UserIn root。有没有办法在类上做动态根元素?谢谢。
问问题
427 次
1 回答
1
您可以创建两个扩展您的 User 类的类,然后根据您是否正在编组解编组来使用特定的子类。
例如,对于用户类:
public class User {
@XmlElement
private String value;
public User() { }
public User(String value) {
this.value = value;
}
}
您可以拥有 UserIn:
@XmlRootElement(name = "UserIn")
@XmlAccessorType(XmlAccessType.FIELD)
public class UserIn extends User {
public UserIn() { }
public UserIn(String value) {
super(value);
}
}
和用户输出:
@XmlRootElement(name = "UserOut")
@XmlAccessorType(XmlAccessType.FIELD)
public class UserOut extends User {
public UserOut() { }
public UserOut(String value) {
super(value);
}
}
在您需要的地方提供适当的类,您将使它与您希望的输入或输出一起工作。
于 2018-12-10T14:35:30.820 回答