我正在尝试为Web服务域创建jaxb类层次结构。我发现覆盖超类中的getter方法的子类可以更改JAXB输出的元素名称,但是超类的一个也被写入输出。我想知道是否有办法抑制超类中的吸气剂。
代码:
@XmlType
class SuperClass
{
@XmlElement(name = "Name")
public String getName(){}
}
@XmlType
class SubClass extends SuperClass
{
@Override
@XmlElement(name = "CoolName")
public String getName(){}
}
当我将SubClass元素添加到XmlRootElement中时,输出XML包含两个元素,< Name>和< CoolName>。有没有办法抑制< Name>被封送?
答案 0 :(得分:2)
您是否需要在SuperClass上映射名称属性?如果没有,你可以只标记该属性@XmlTransient。
class SuperClass
{
@XmlTransient
public String getName(){}
}