【问题标题】:Adding static attributes to JAX-B generated elements向 JAX-B 生成的元素添加静态属性
【发布时间】:2009-09-23 12:44:48
【问题描述】:

假设我有一个这样的 JAXB 元素:

@XmlElement
private double value;

这将生成这样的 XML:

<value>3.14159</value>

现在,我该如何修改我的声明(或自定义 JAXB 编组)来生成这样的 XML:

<value type="double">3.14159</value>

type 属性将始终具有相同的值,即“double”。

谢谢!

【问题讨论】:

    标签: java xml jaxb


    【解决方案1】:

    你需要定义一个类,封装双精度和字符串的组合,然后注解一个静态的固定值:

    public class MyDouble {
        @XmlValue
        private double value;
    
        @XmlAttribute(name="type")
        private final static String TYPE = "double";
    
    }
    

    那么你的代码就变成了:

    @XmlElement
    private MyDouble value;
    

    【讨论】:

    • 完美。我总是忘记@XmlValue。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    相关资源
    最近更新 更多