我有一个父类ClassA,我无法修改。它有一个字段“field1”,上面没有XmlElement注释。
@XmlRootElement
public class ClassA {
protected String field1;
}
另外,我有一个扩展ClassA的类ClassB。我收到的xml,字段“field1”,名为“newField1”。
我如何向Jaxb表明xml中的标签“newField1”实际上对应于基类中的“field1”。
由于
答案 0 :(得分:1)
确定。找到了答案。 所有需要做的就是在派生类中创建一个setter方法,例如
@XmlElement(name = "newField1")
public void setField1(String field1) {
this.field1 = field1;
}
Ofc,这假设您正在访问的字段在基类中具有受保护的访问权限。否则你可能需要稍微肮脏并做一些反思;)