java实现对象转换为map、xml字符串转化为map、map转化为xml字符串
2017-10-16 20:54
573 查看
全栈工程师开发手册 (作者:栾鹏)
java教程全解
java实现map使用功能函数:对象转换为map、xml字符串转化为map
1、将对象的所有属性转化为map键值对
2、转换对象为map,并忽略某些属性
3、将只有根节点和一级子节点的xml字符串 转换为 Map
测试代码
将对象的所有属性转化为map键值对
转换对象为map,并忽略某些属性
只有根节点和一级子节点的xml字符串 转换为 Map
Map转xml数据
java教程全解
java实现map使用功能函数:对象转换为map、xml字符串转化为map
1、将对象的所有属性转化为map键值对
2、转换对象为map,并忽略某些属性
3、将只有根节点和一级子节点的xml字符串 转换为 Map
测试代码
当前类的名称为MapUtil int a=10; String b="das"; public static void main(String[] args) { MapUtil ob=new MapUtil(); Map<String, Object> map=object2map(ob); //将对象所有属性值转化为map System.out.println(map); Map<String, String> map1=object2map(ob,"a"); //将对象排数部分属性后转换为map System.out.println(map1); String xmlstr = "<book><title>Java实例一百例</title><page>基础知识篇</page></book>"; //将简单的只有两级的xml字符串转化为map Map<String, String> map2=xml2map(xmlstr); System.out.println(map2); xmlstr = map2xml(map1); //将map转化为xml System.out.println(xmlstr); }
将对象的所有属性转化为map键值对
public static Map<String,Object> object2map(Object object){ Map<String,Object> map = new HashMap<String, Object>(); Field[] fields = object.getClass().getDeclaredFields(); for (Field field : fields) { Object obj; try { obj = field.get(object); if(obj!=null){ map.put(field.getName(), obj); } } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } return map; }
转换对象为map,并忽略某些属性
public static Map<String,String> object2map(Object object,String... ignore){ Map<String,String> tempMap = new LinkedHashMap<String, String>(); for(Field f : object.getClass().getDeclaredFields()){ if(!f.isAccessible()){ f.setAccessible(true); } boolean ig = false; if(ignore!=null && ignore.length>0){ for(String i : ignore){ if(i.equals(f.getName())){ ig = true; break; } } } if(ig){ continue; }else{ Object o = null; try { o = f.get(object); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } tempMap.put(f.getName(), o==null?"":o.toString()); } } return tempMap; }
只有根节点和一级子节点的xml字符串 转换为 Map
public static Map<String,String> xml2map(String xml){ try { DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document document = documentBuilder.parse(new ByteArrayInputStream(xml.getBytes())); Element element = document.getDocumentElement(); NodeList nodeList = element.getChildNodes(); Map<String, String> map = new LinkedHashMap<String, String>(); for(int i=0;i<nodeList.getLength();i++){ Element e = (Element) nodeList.item(i); map.put(e.getNodeName(),e.getTextContent()); } return map; } catch (DOMException e) { e.printStackTrace(); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }
Map转xml数据
public static String map2xml(Map<String,String> param){ StringBuffer sb = new StringBuffer(); sb.append("<xml>"); for (Map.Entry<String,String> entry : param.entrySet()) { sb.append("<"+ entry.getKey() +">"); sb.append(entry.getValue()); sb.append("</"+ entry.getKey() +">"); } sb.append("</xml>"); return sb.toString(); }
相关文章推荐
- 使用JAXB实现JAVA对象和XML字符串的互相转换实例
- 使用JAXB实现JAVA对象和XML字符串的互相转换实例
- 使用JAXB实现JAVA对象和XML字符串的互相转换
- 使用JAXB实现JAVA对象和XML字符串的互相转换
- Java List或Map对象和json字符串数据的相互转化
- JAXB 实现java对象与xml之间互相转换
- 使用XStream注解实现Java对象与XML互相转换的代码示例---转自:http://www.blogjava.net/bolo
- Json-lib 实现 json,java 对象,xml 之间相互转换
- Json-lib实现json,java对象,xml之间相互转换 .
- 使用XStream注解实现Java对象与XML互相转换的代码示例
- Java将org.w3c.dom.Element对象转换成xml字符串并且不带命名空间
- java中将jsonObject字符串转化为Map对象
- 使用XStream注解实现Java对象与XML互相转换的代码示例
- JAXB 实现java对象与xml之间互相转换(二)
- JAXB技术实现java对象与xml相互转化
- JAXB 实现java对象与xml之间互相转换(一)
- js跨浏览器实现将字符串转化为xml对象的方法
- java 通过JAXB 实现对象和xml互相转化
- \t\tJAXB技术实现java对象与xml相互转化
- Json字符串转换为java对象的各种实现方法【json_lib框架、Gson、org.json】