java Map转XML
来源:互联网 发布:centos安装cacti 编辑:程序博客网 时间:2024/05/02 04:51
package com.lmx.common.util;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import java.lang.reflect.Field;import java.util.Collection;import java.util.Map;import java.util.Set;/** * Created by qin on 2016/8/31. */public class XMLUtil { private static Log logger = LogFactory.getLog(XMLUtil.class); /** * Converter Map<Object, Object> instance to xml string. Note: currently, * we aren't consider more about some collection types, such as array,list, * * @param dataMap the data map * * @return the string */ public static String converter(Map<Object, Object> dataMap) { synchronized (XMLUtil.class) { StringBuilder strBuilder = new StringBuilder(); strBuilder.append("<xml>"); strBuilder.append("\n"); Set<Object> objSet = dataMap.keySet(); for (Object key : objSet) { if (key == null) { continue; }// strBuilder.append("\n"); strBuilder.append("<").append(key.toString()).append(">"); Object value = dataMap.get(key); strBuilder.append(coverter(value)); strBuilder.append("</").append(key.toString()).append(">\n"); } strBuilder.append("</xml>"); return strBuilder.toString(); } } public static String coverter(Object[] objects) { StringBuilder strBuilder = new StringBuilder(); for(Object obj:objects) { strBuilder.append("<item className=").append(obj.getClass().getName()).append(">\n"); strBuilder.append(coverter(obj)); strBuilder.append("</item>\n"); } return strBuilder.toString(); } public static String coverter(Collection<?> objects) { StringBuilder strBuilder = new StringBuilder(); for(Object obj:objects) { strBuilder.append("<item className=").append(obj.getClass().getName()).append(">\n"); strBuilder.append(coverter(obj)); strBuilder.append("</item>\n"); } return strBuilder.toString(); } /** * Coverter. * * @param object the object * @return the string */ public static String coverter(Object object) { if (object instanceof Object[]) { return coverter((Object[]) object); } if (object instanceof Collection) { return coverter((Collection<?>) object); } StringBuilder strBuilder = new StringBuilder(); if (isObject(object)) { Class<? extends Object> clz = object.getClass(); Field[] fields = clz.getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); if (field == null) { continue; } String fieldName = field.getName(); Object value = null; try { value = field.get(object); } catch (IllegalArgumentException e) { continue; } catch (IllegalAccessException e) { continue; } strBuilder.append("<").append(fieldName) .append(" className=\"").append( value.getClass().getName()).append("\">\n"); if (isObject(value)) { strBuilder.append(coverter(value)); } else if (value == null) { strBuilder.append("null\n"); } else { strBuilder.append(value.toString() + "\n"); } strBuilder.append("</").append(fieldName).append(">\n"); } } else if (object == null) { strBuilder.append("null"); } else { strBuilder.append(object.toString()); } return strBuilder.toString(); } /** * Checks if is object. * * @param obj the obj * * @return true, if is object */ private static boolean isObject(Object obj) { if (obj == null) { return false; } if (obj instanceof String) { return false; } if (obj instanceof Integer) { return false; } if (obj instanceof Double) { return false; } if (obj instanceof Float) { return false; } if (obj instanceof Byte) { return false; } if (obj instanceof Long) { return false; } if (obj instanceof Character) { return false; } if (obj instanceof Short) { return false; } if (obj instanceof Boolean) { return false; } return true; }}
0 0
- java xml 转 map / map 转 xml
- java Map转XML
- java xml转map map转xml 带属性
- java的map格式数据转xml
- java jdom 将xml转map
- java解析xml转为Map
- XML报文转Map
- XML 转 map集合
- Xml字符串转Map
- XML字符串转Map
- xml与map之间互转(java)
- java实现对象转换为map、xml字符串转化为map、map转化为xml字符串
- java转换xml、list、map和json
- Java转换xml、list、map和json
- java map list xml转化操作类
- java将XML数据转换成Map
- java转换xml、list、map和json
- java转换xml、list、map和json
- 手机ROOT
- MDK自带下载工具不能擦除芯片和烧写FLASH
- swift开发---- XWSwiftRefresh 下拉刷新 上拉加载
- Codeforces 711c 简单dp
- 初学TensorFlow 存在报错问题记录——中文备注 python编码问题
- java Map转XML
- c++高级编程内容
- 全站即时通讯技术资料分类
- 数据库 索引
- 悼念512汶川大地震遇难同胞
- effective java观后感(2)-------创建和销毁对象
- 几种向量空间
- JAVA学习笔记之(常用类)
- 全局描述符表(GDT)——《x86汇编语言:从实模式到保护模式》