【发布时间】:2013-08-17 20:30:00
【问题描述】:
我正在使用 JAXB 来解组 xml 文件,这些文件可能包含不同的类型,然后是相应的类。这是一个 Range 类
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "range")
public class Range {
@XmlAttribute
private float min;
@XmlAttribute
private float max;
public float getMin() {
return min;
}
public void setMin(float min) {
this.min = min;
}
public float getMax() {
return max;
}
public void setMax(float max) {
this.max = max;
}
}
以及相应的xml文本
<range min="0" max="width"/>
如您所见,最大值不是浮点数而是字符串。我的程序或 unmarshaller 应该能够处理这个问题,也许可以通过调用下面的另一个 setter 方法。这样的事情可能吗。
public void setMax(String max) {
this.max = Constants.getValueOf(max);
}
感谢您的帮助。
【问题讨论】:
-
你运行过这个吗?它应该起作用了。否则,是的,您可以注释设置器而不是字段。
标签: java xml casting unmarshalling