zoukankan      html  css  js  c++  java
  • xml数据映射到对象

    /**
    * parseXmlToJavaBean(xm转JavaBean)
    * Bean类及其属性需要添加XStreamAlias、XStreamAsAttribute注解与xml节点/属性名称匹配
    *
    * @param xml
    * @param beanClass 转换的目标Bean
    * @param ignoreFields 指定忽略的Bean属性或者属性内部属性
    * @return T
    * @throws @since 1.0.0
    */
    @SuppressWarnings("unchecked")
    public static <T> T parseXmlToJavaBean(String xml, Class<?> beanClass, List<String> ignoreFields) {

    // 转换的目标Bean
    T javaBean = null;
    XStream xStream = new XStream(new DomDriver()) {

    @Override
    protected MapperWrapper wrapMapper(MapperWrapper next) {

    return new MapperWrapper(next) {

    @Override
    @SuppressWarnings("rawtypes")
    public boolean shouldSerializeMember(Class definedIn, String fieldName) {

    if (null != ignoreFields && ignoreFields.contains(fieldName)) {
    return false;
    }
    return super.shouldSerializeMember(definedIn, fieldName);
    }
    };
    }
    };
    // 启用注解
    xStream.processAnnotations(beanClass);
    //忽略未知节点
    xStream.ignoreUnknownElements();
    registerConverter(xStream);
    // 执行xmlString-->Bean转换
    javaBean = (T) xStream.fromXML(xml);
    return javaBean;
    }

  • 相关阅读:
    hashmap的一些基础原理
    关于uuid
    读锁跟写锁的区别
    栈为什么效率比堆高
    MySQL行级锁、表级锁、页级锁详细介绍
    MYSQL MyISAM与InnoDB对比
    MYSQL锁表问题解决
    mysql查询锁表语句
    三种排序方法
    正则表达式
  • 原文地址:https://www.cnblogs.com/chenxiaoxian/p/9758709.html
Copyright © 2011-2022 走看看