xstream fromxml时,处理NumberFormatException及忽略多余xml节
发布时间:2020-12-16 00:31:45 所属栏目:百科 来源:网络整理
导读:声明: 以下处理仅在xstream-1.4.6版本中得到验证,由于版本不一致导致结果不同,请勿喷。 名词解释: 忽略多余xml节点:即xml字符串中包含了pojo类里边没有的字段,如果不做处理,会抛出Convert异常。 NumberFormatException: 这里指pojo里边某个字段是数
声明: 以下处理仅在xstream-1.4.6版本中得到验证,由于版本不一致导致结果不同,请勿喷。 名词解释: 忽略多余xml节点:即xml字符串中包含了pojo类里边没有的字段,如果不做处理,会抛出Convert异常。 NumberFormatException: 这里指pojo里边某个字段是数字类型,但是xml中值是空串,导致出现NumberFormatException异常的问题。在这里,xstream并没有提供原生的解决办法,需要通过自己继承Convertor类来实现。 下面直接看代码,应该一目了然,在使用前设置以下即可: xStream.ignoreUnknownElements();//忽略多余的xml节点 //下面是转换常用的数字类型 xStream.registerConverter(new DoubleConverter() { @Override public Object fromString(String str) { if (StringUtil.isNullOrEmpty(str)) { return null; } return super.fromString(str); } }); xStream.registerConverter(new LongConverter() { @Override public Object fromString(String str) { if (StringUtil.isNullOrEmpty(str)) { return null; } return super.fromString(str); } }); xStream.registerConverter(new IntConverter() { @Override public Object fromString(String str) { if (StringUtil.isNullOrEmpty(str)) { return null; } return super.fromString(str); } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |