使用XStream将XML转化成对象,忽略没有关联的属性

来源:互联网 发布:免费idc销售系统源码 编辑:程序博客网 时间:2024/06/07 12:05

使用背景:
在和第三方系统集成的时候,数据传输的格式都是XML,第三方获取到数据之后,转化成XML发送过来,我方系统根据XML转化成对象,如果第三方系统的数据类型增加一个字段,再传输过来时,一般会抛出
“no such field”类似于这样的错误。
问题分析
我们在使用XStream对象时,一般都会直接new一个对象出来,例如

XStream xstream = new XStream();

这样使用之后,xml中的所有属性都需要被待转化的模型识别,假如有一个字段没有对应上,即会抛出错误。
问题解决方案
XStream 官方也提供这样一种构造方法。

XStream xstream = new XStream() {    @Override    protected MapperWrapper wrapMapper(MapperWrapper next) {        return new MapperWrapper(next) {            @Override            public boolean shouldSerializeMember(Class definedIn, String fieldName) {                if (definedIn == Object.class) {                    return false;                }                return super.shouldSerializeMember(definedIn, fieldName);            }        };    }};xstream.processAnnotations(XXX.class);

这样就算对方扩几个字段这边也不会有一点问题。

具体请参考:http://stackoverflow.com/questions/5377380/how-to-make-xstream-skip-unmapped-tags-when-parsing-xml

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 被地雷蜂蛰了怎么办 被葫芦蜂蛰了怎么办 嘴巴被蜜蜂蛰了怎么办 被蜜蜂蜇伤了怎么办 婴儿被蜜蜂蜇了怎么办 婴儿被黄蜂蛰了怎么办 蜜蜂在石头缝里怎么办 中蜂蜂王不产卵怎么办 冲电器充电变慢怎么办 摇号审核通过后怎么办 京东白条开不了怎么办 得了病心里压力大怎么办 电视家看直播卡怎么办 日上提货单丢了怎么办 想直飞香港l签怎么办 u盘识别不出来怎么办 卫生间下水道有小飞虫怎么办 橙光一直闪退怎么办 若白回来了,长安怎么办 没了你以后我该怎么办 玩cf的时候闪退怎么办 婴儿嗓子哭哑了怎么办 宝宝嗓子哭哑了怎么办 小孩嗓子哭哑了怎么办 孩子嗓子哭哑了怎么办 月经来了晚上漏怎么办 在学校月经漏了怎么办 月经来了血下不来怎么办 想让月经快点来怎么办 孩子来月经不规律怎么办 一个月来2次月经怎么办 14岁月经不规律怎么办 不是经期内裤有黑色血怎么办 月经量多血块多怎么办 网友见面没上她怎么办 拔完智齿老流血怎么办 学车教练不教怎么办 想开奶茶店没有经验怎么办 宝宝吃多了不消化怎么办 吃了糖精和鸡蛋怎么办 小米平板2太卡了怎么办