将xml解析成map
来源:互联网 发布:java中的方法调用传参 编辑:程序博客网 时间:2024/06/08 02:13
1:第一层element循环解析
@SuppressWarnings("unchecked") public static Map<String, Object> Dom2Map(Document doc){ Map<String, Object> map = new HashMap<String, Object>(); if(doc == null) return map; Element root = doc.getRootElement(); for (Iterator iterator = root.elementIterator(); iterator.hasNext();) { Element e = (Element) iterator.next(); List list = e.elements(); if(list.size() > 0){ map.put(e.getName(), Dom2Map(e)); }else map.put(e.getName(), e.getText()); } return map; }
2:运用递归方法解析多层element
@SuppressWarnings("unchecked") public static Map Dom2Map(Element e){ Map map = new HashMap(); List list = e.elements(); if(list.size() > 0){ for (int i = 0;i < list.size(); i++) { Element iter = (Element) list.get(i); List mapList = new ArrayList(); if(iter.elements().size() > 0){ Map m = Dom2Map(iter); if(map.get(iter.getName()) != null){ Object obj = map.get(iter.getName()); if(!obj.getClass().getName().equals("java.util.ArrayList")){ mapList = new ArrayList(); mapList.add(obj); mapList.add(m); } if(obj.getClass().getName().equals("java.util.ArrayList")){ mapList = (List) obj; mapList.add(m); } map.put(iter.getName(), mapList); }else map.put(iter.getName(), m); } else{ if(map.get(iter.getName()) != null){ Object obj = map.get(iter.getName()); if(!obj.getClass().getName().equals("java.util.ArrayList")){ mapList = new ArrayList(); mapList.add(obj); mapList.add(iter.getText()); } if(obj.getClass().getName().equals("java.util.ArrayList")){ mapList = (List) obj; mapList.add(iter.getText()); } map.put(iter.getName(), mapList); }else map.put(iter.getName(), iter.getText()); } } }else map.put(e.getName(), e.getText()); return map; }
0 0
- 将xml解析成map
- XML解析成Map
- xml递归解析成Map
- 解析字符串XML成map
- java将XML数据转换成Map
- 解析xml 转换map
- 使用xslt将xml解析成xhtml
- Java 将对象解析成xml 文件
- 将XML解析成java对象
- 如何将xml解析成datatable
- 将xml字符串转换成map,list 的转换
- 解析 XML文件 到哈希MAP
- xml解析返回list<map>
- java解析xml转为Map
- SAX 解析XML文件:将XML转换成Java对象
- SAX 解析XML 将xml转换成javaBean
- 将json格式的字符串解析成Map对象
- JAVA获取请求地址,将参数解析成MAP
- ssh时遇到 WARNING: POSSIBLE DNS SPOOFING DETECTED! 的解决方法
- JAVA: String or binary data would be truncated 异常解决办法
- dlopen undefined symbol
- JavaWeb中Servlet的生命周期方法
- yii memcahed
- 将xml解析成map
- js前端预防xss攻击的方法
- CSS之幻灯片
- AWK原理及命令和文件输入
- Android 增量更新完全解析
- android ButterKnife Zelezny 插件使用
- 资料总结连接
- 对spring控制反转以及依赖注入的理解
- 糗百Python爬虫1.1