首页 > 其他 > 详细

xstream fromxml时,处理NumberFormatException及忽略多余xml节点的问题

时间:2014-01-24 04:04:41      阅读:1844      评论:0      收藏:0      [点我收藏+]

声明:

以下处理仅在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);
                }
            });


 

 

 


 

xstream fromxml时,处理NumberFormatException及忽略多余xml节点的问题

原文:http://blog.csdn.net/t8500071/article/details/18706301

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!