3

我有一个无法修改的父类 ClassA。它有一个字段“field1”,上面没有 XmlElement 注释。


@XmlRootElement
public class ClassA {
    protected String field1;
}

另外,我有一个扩展 ClassA 的 ClassB 类。我收到的 xml 具有名为“newField1”的字段“field1”。

我如何向 Jaxb 指示 xml 中的标签“newField1”实际上对应于基类中的“field1”。

谢谢

4

1 回答 1

1

好的。找到了答案。所需要做的就是在派生类中创建一个setter方法,例如


    @XmlElement(name = "newField1")
    public void setField1(String field1) {
        this.field1 = field1;
    }

Ofc,这假定您正在访问的字段在基类中具有受保护的访问权限。否则,您可能需要弄脏一点并进行一些反思;)

于 2013-05-20T06:26:26.013 回答