zoukankan      html  css  js  c++  java
  • xstream.fromXML 忽略没有的节点

    xml中存在节点,而model中不存在,就会报错:

    com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$UnknownFieldException: No such field com.creditharmony.adapter.model.crif.CrifBodyAppVar.App_amt

    -------------解决方案----------

    重写XStream中的方法:

    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对象即可.

    XStreamEx xstream = new XStreamEx(new DomDriver(Constant.DEFAULT_CHARSET)); 
    
  • 相关阅读:
    C#微信开发
    3-4:字符串方法
    2-4-1 元组
    2-3-3 列表方法
    2-2-3:序列(字符串)乘法(p32)
    3-3字符串格式化(p47)
    2-2:分片
    2-1:Print date(p28)
    old.2.三次登录机会
    old.2.sum(1-2+3-4+...+99)
  • 原文地址:https://www.cnblogs.com/hoge/p/7444366.html
Copyright © 2011-2022 走看看