简单XML - 处理空字符串以进行类型转换

时间:2016-05-07 03:14:27

标签: java simple-framework

我正在尝试使用Simple框架将第三方提供程序提供的某些数据反序列化为Java对象。传入的数据被POST到HTTP服务器,从那里我的代码需要接管。

XML看起来像这样:

<SomeElement attrib1="foo" attrib2="1337" attrib3="" />

还有更多属性 - 其中近50个属性。

我的Java类是:

public class SomeElement {
    @Attribute private String attrib1;
    @Attribute private int attrib2;
    @Attribute(required=false, empty="0") private int attrib3;
}

但这并不能解析。我明白了:

Exception in thread "main" java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.valueOf(Unknown Source)
    at org.simpleframework.xml.transform.IntegerTransform.read(IntegerTransform.java:55)

我不清楚如何让Simple XML正确解析可用的东西。我可能错过了一些注释的神奇咒语,但我在文档中找不到任何内容。

1 个答案:

答案 0 :(得分:0)

如果全部失败,请为元素实施Converter

以下是两个如何执行此操作的示例(与null / empty元素相关):