繁体   English   中英

用JAXB解组Number类型的元素

[英]Unmarshaling an element of type Number with JAXB

你好,我正在使用JAXB将XML解组到JAVA,我在xml文档中有一个元素“值”,其类型可能是int或double,而我的java类中此元素的对应属性是“值”类型数。

我认为JAXB不支持对“数字”类型使用umarshaling,有人知道如何处理此问题吗? 一个例子将不胜感激。 提前致谢。

写适配器,例如:

import java.math.BigDecimal;
import javax.xml.bind.annotation.adapters.XmlAdapter;

public class NumberAdapter extends XmlAdapter<String, Number> {

    @Override
    public Number unmarshal(String v) throws Exception {
        return new BigDecimal(v);
    }

    @Override
    public String marshal(Number v) throws Exception {
        return v.toString();
    }

}

并将其与变量声明一起使用:

@XmlJavaTypeAdapter(NumberAdapter.class)
private Number myNumber;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM