我正在尝试使用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正确解析可用的东西。我可能错过了一些注释的神奇咒语,但我在文档中找不到任何内容。