Java JAXB包装所有字段
目前,我有一个简单的类设置,如下所示:Java JAXB包装所有字段,java,marshalling,unmarshalling,jaxb2,Java,Marshalling,Unmarshalling,Jaxb2,目前,我有一个简单的类设置,如下所示: @XmlRootElement (name = "MyRoot") public class MyClass { @XmlElement (name = "String1") private String string1; @XmlTransient public String getString1() { return this.string1; } public void setString1(String string1) { this
@XmlRootElement (name = "MyRoot")
public class MyClass {
@XmlElement (name = "String1") private String string1;
@XmlTransient public String getString1() { return this.string1; }
public void setString1(String string1) { this.string1 = string1; }
@XmlElement (name = "String2") private String string2;
@XmlTransient public String getString2() { return this.string2; }
public void setString2(String string2) { this.string2 = string2; }
}
我希望从JAXB处理时类的输出如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MyRoot>
<MyWrapper>
<String1>ABC</String1>
<String2>XYZ</String2>
</MyWrapper>
</MyRoot>
基础知识
XYZ
我的问题是:
@XmlRootElement(name=“MyWrapper”
设置的?这是JAXB的一个简单限制吗这是一个什么样的限制,很明显String1和String2是MyClass的成员,除非你重新定义它们的父类,否则它不会像那样改变
建议,使它们暂时化,使用方法注释,并返回它们的数组我喜欢这个解决方案。我希望得到类似{@XmlElementWrapper}的东西,但更像是支持为要集中在其中的元素配置分组。我想这并不是真正的限制,而是库中的设计决策。