Java JAXB从父类重写@XmlAttribute名称

Java JAXB从父类重写@XmlAttribute名称,java,xml,jaxb,overriding,Java,Xml,Jaxb,Overriding,我有JAXB注释类来映射XML。 在XML中,有两个元素具有相同的属性,但有一个元素的属性名称略有不同。这些元素甚至具有相同的标记名 1: <element name="" attr2="" ... /> 2: <element slightlyDifferentName="" attr2="" ... /> B类使用多种不同方法扩展a,如下所示: @XmlAccessorType(XmlAccessType.NONE) @XmlType(name = "B") pub

我有JAXB注释类来映射XML。 在XML中,有两个元素具有相同的属性,但有一个元素的属性名称略有不同。这些元素甚至具有相同的标记名

1: <element name="" attr2="" ... />
2: <element slightlyDifferentName="" attr2="" ... />
B类使用多种不同方法扩展a,如下所示:

@XmlAccessorType(XmlAccessType.NONE)
@XmlType(name = "B")
public class B extends A {
    @XmlAttribute(name = "slightlyDifferentName")        
    public String getName() {
        return super.getName();
    }
    public void setName(String name) {
        super.setName(name);
    }  
}
我还尝试使用不同的名称创建其他方法,并将重写的方法更改为XmlTransient,使字段受到保护,并将其组合在一起。 创建XML时,两个属性中有一个设置为相同的值:

<element name="FOO" slightlyDifferentName="FOO" attr2="" ... />

或没有设置:

<element attr2="" ... />

唯一有效的方法是在B类中创建第二个字段,使用不同的getter/setter名称,但我并不真的希望这样。 它是相同的数据结构,只是在某些XML中属性名称不同(没有明显的原因),因此值应始终存储在同一字段中

我只想在子类中重写@XmlAttribute的name属性,我该怎么做

<element attr2="" ... />