xstream.fromXML 忽略没有的节点

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)); 
相关文章
相关标签/搜索