xml中存在節點,而model中不存在,就會報錯:app
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$UnknownFieldException: No such field com.creditharmony.adapter.model.crif.CrifBodyAppVar.App_amtdom
-------------解決方案----------ide
重寫XStream中的方法:xml
package com.creditharmony.adapter.core.service; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; import com.thoughtworks.xstream.mapper.MapperWrapper; public class XStreamEx extends XStream { public XStreamEx(DomDriver domDriver) { super(); } @Override protected MapperWrapper wrapMapper(MapperWrapper next) { return new MapperWrapper(next) { @Override public boolean shouldSerializeMember(@SuppressWarnings("rawtypes") Class definedIn, String fieldName) { if (definedIn == Object.class) { return false; } return super.shouldSerializeMember(definedIn, fieldName); } }; } }
使用:對象
直接new對象便可.blog
XStreamEx xstream = new XStreamEx(new DomDriver(Constant.DEFAULT_CHARSET));