gpt4 book ai didi

xml - Jaxb - 覆盖 XMLElement 名称属性

转载 作者:行者123 更新时间:2023-12-04 18:09:58 27 4
gpt4 key购买 nike

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


@XmlRootElement
public class ClassA {
protected String field1;
}

此外,我还有一个扩展了 ClassA 的类 ClassB。我收到的 xml 包含名为“newField1”的字段“field1”。

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

谢谢

最佳答案

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


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

Ofc,这假定您正在访问的字段在基类中具有 protected 访问权限。否则你可能需要弄脏一点并做一些反射(reflection) ;)

关于xml - Jaxb - 覆盖 XMLElement 名称属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16520819/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com