importjava.io.FileInputStream; importjava.util.ArrayList; importjava.util.HashMap; importjava.util.Iterator; importjava.util.List; importjava.util.Map; importorg.dom4j.Document; importorg.dom4j.DocumentHelper; importorg.dom4j.Element; importcom.google.gson.Gson; importcom.thoughtworks.xstream.XStream; publicclasstest{ publicstaticvoidmain(String[]args)throwsException{ XStreamxs=newXStream(); FileInputStreamfis=newFileInputStream("E:/GitWorkspace/eap-dop/exp-dop/src/main/java/version.xml"); byte[]b=newbyte[fis.available()]; fis.read(b); Stringstr=newString(b); Documentdoc=DocumentHelper.parseText(str); longbeginTime=System.currentTimeMillis(); Map<String,Object>map=Test.Dom2Map(doc); System.out.println(newGson().toJson(map)); } publicstaticMap<String,Object>Dom2Map(Documentdoc){ Map<String,Object>map=newHashMap<String,Object>(); if(doc==null){ returnmap; } Elementroot=doc.getRootElement(); for(Iteratoriterator=root.elementIterator();iterator.hasNext();){ Elemente=(Element)iterator.next(); Listlist=e.elements(); if(list.size()>0){ map.put(e.getName(),Test.Dom2Map(e)); }else{ map.put(e.getName(),e.getText()); } } returnmap; } publicstaticMapDom2Map(Elemente){ Mapmap=newHashMap(); Listlist=e.elements(); if(list.size()>0){ for(inti=0;i<list.size();i++){ Elementiter=(Element)list.get(i); ListmapList=newArrayList(); if(iter.elements().size()>0){ Mapm=Test.Dom2Map(iter); if(map.get(iter.getName())!=null){ Objectobj=map.get(iter.getName()); if(!obj.getClass().getName().equals("java.util.ArrayList")){ mapList=newArrayList(); 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){ Objectobj=map.get(iter.getName()); if(!obj.getClass().getName().equals("java.util.ArrayList")){ mapList=newArrayList(); 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(),iter.getText()); } } } }else{ map.put(e.getName(),e.getText()); } returnmap; } }
原文地址:https://www.jb51.cc/xml/296829.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。