[英]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.