XML转map
发布时间:2020-12-16 06:21:13 所属栏目:百科 来源:网络整理
导读: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.goo
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; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |