JAXB Moxy @XmlValueExtension提供节点名称

时间:2016-06-28 09:03:26

标签: jaxb marshalling moxy

我正在尝试在子类中使用@XmlValueExtension,但行为不符合预期。

根类是:

@XmlDiscriminatorNode("@codeType")
@XmlSeeAlso({Subclass1.class})
public abstract class SuperClass {

}

子类是:

@XmlDiscriminatorValue("1")
public class Subclass1 extends SuperClass {

    @XmlValueExtension
    private String myValue;

}

但是当编组时,XML结果是:

<Superclass codeType="1">
   <myValue>my awesome value</myValue>
</Superclass>

我期待这样的事情:

<Superclass codeType="1">my awesome value</Superclass>

我正在使用Moxy 2.6.3

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

好的,实际上,我们需要添加@XmlValueExtension而不是替换@XmlValue;)

@XmlDiscriminatorValue("1")
public class Subclass1 extends SuperClass {

    @XmlValue
    @XmlValueExtension
    private String myValue;

}