使用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
- 使用XStream将XML转化成对象,忽略没有关联的属性
- 将属性的XML解析成对象数组列表
- 使用JSONObject将json文件转化成对象
- 如何将PHP的数组转化成对象
- 如何将PHP的数组转化成对象
- 一个通用的方法(将数据库记录转化成对象)
- 如何将PHP的数组转化成对象
- 将url字符串,转化成对象
- 将配置文件中分属性封装成对象
- 将配置文件中分属性封装成对象
- dom4j将xml转换成对象
- XStream将XML映射到对对象
- 用java的反射实现将ResultSet自动转化成对象,自动产生sql语句
- 用java的反射实现将ResultSet自动转化成对象,自动产生sql语句
- javascript中JSON把字符串转化成对象,并对里面的属性增删改查
- 将Flash内部的XML转换成对象的类 [原创]
- dom4j将xml解析成对象实验(不断更新)
- 关于XStream相关的常用方法;设置别名;忽略属性;设置xml字段属性
- 蛇形矩阵
- Spring 学习笔记(1)注入Injection_type
- 【JS】:JS如何实现加载别的框架
- 在线条形码生成
- ssh框架搭建的基本步骤
- 使用XStream将XML转化成对象,忽略没有关联的属性
- Cocos2dx:cocostudio 2.0 Text文本控件
- BASE64Encoder cannot be resolved to a type解决办法
- LeakCanary的使用
- 67.LeetCode Add Binary(easy)[字符串 大数相加处理]
- Perl 数据类型
- 7*8
- 机器学习总结二:逻辑回归Logistic Regression
- jstl c:forEach 一行排三个图片然后自动换行