xml to amp
来源:互联网 发布:淘宝店怎么加入淘宝客 编辑:程序博客网 时间:2024/06/11 08:02
package foo;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.dom4j.Document;import org.dom4j.Element;public class XmlUtils { 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(); //System.out.println(e.getName()); List list = e.elements(); if(list.size() > 0){ map.put(e.getName(), Dom2Map(e)); }else map.put(e.getName(), e.getText()); } return map; } 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 to amp
- How to send mail using C++ &amp;amp; CAsyncSocket - SourceCode - 用C++ &amp;amp; CAsyncSocket 如何发送邮件 - 源码 - HackerJLY
- 在XML配置文件中输出&符号
- Drag & Drop - From List to VideoDisplay
- GPU computing to C++ with C++ AMP
- 关于出现Don't know how to iterate over supplied "items" in &amp;lt;forEach&amp;gt;异常
- web services&xml--xml与html的结合
- AMP
- AMP
- amp
- How to set the enviroment variables of JDK &amp; Eclipse!
- C++ AMP: How to measure the performance of C++ AMP algorithms?
- XmlSerializer to XML and XML to object
- fld to xml and xml to fld
- XML to tree XML 树
- Linq to xml操作XML
- linq to xml操作XML
- Linq to XML 新建XML
- maven wagon ftp ssh
- Java GUI图形界面开发工具
- xStream
- 最小生成树-Kruscal-POJ 1258 Agri-Net
- MySQL 中的 base64 函数
- xml to amp
- SourceTree 无法检测到文件状态改变的问题
- 安装SDL2.0
- 机器学习基础(十九)—— Trick
- 数据可视化之Grafana-Table Panel
- JAXB vs XStream
- Digester解析xml文件
- 《Python数据分析基础教程:Numpy学习指南》- 速记 - 第四章
- Linux安全学习总结