加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML转map

发布时间:2020-12-16 09:09:58 所属栏目:百科 来源:网络整理
导读: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;
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读