xml解析为java集合对象.docx

上传人:b****7 文档编号:8783785 上传时间:2023-02-01 格式:DOCX 页数:17 大小:100.07KB
下载 相关 举报
xml解析为java集合对象.docx_第1页
第1页 / 共17页
xml解析为java集合对象.docx_第2页
第2页 / 共17页
xml解析为java集合对象.docx_第3页
第3页 / 共17页
xml解析为java集合对象.docx_第4页
第4页 / 共17页
xml解析为java集合对象.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

xml解析为java集合对象.docx

《xml解析为java集合对象.docx》由会员分享,可在线阅读,更多相关《xml解析为java集合对象.docx(17页珍藏版)》请在冰豆网上搜索。

xml解析为java集合对象.docx

xml解析为java集合对象

一、Projectmenu截图:

二、Testmain截图:

三、doGetElementMapData截图:

四、doGetElementListMapData截图:

五、isRepeat截图:

 

六、测试xml截图:

 

七、xml转换集合对象截图:

 

八、源码:

一、java源码:

packagecom.test;

importjava.util.ArrayList;

importjava.util.HashMap;

importjava.util.Iterator;

importjava.util.List;

importjava.util.Map;

importorg.dom4j.Document;

importorg.dom4j.DocumentHelper;

importorg.dom4j.Element;

publicclassTestOne{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args)throwsException{

Stringstr="

xmlversion=\"1.0\"encoding=\"UTF-8\"?

>"+

""+

"代码"+

"  "+

"  保费"+

"  "+

"  "+

"  承保险别"+"  "+"  "+"  承保险别"+

"  "+"  "+"  承保险别"+

"  

"+"  "+"  承保险别"+"  "+

"  "+"  承保险别"+"  "+"  "+"  承保险别"+

"  "+"  

"+

"  "+"  "+

"  "+"  "+

"  吨位"+"  "+

"  承保险别"+"  保险金额"+

"  "+"  "+

"";

System.out.println(str);

TestOneto=newTestOne();

Documentdoc=DocumentHelper.parseText(str);

Elementroot=doc.getRootElement();

Mapmap=to.doGetElementMapData(root,root.getName().trim());

System.out.println(map.toString());

}

/**

*获取所有非重复元素下的集合

*@paramroot

*@paramname

*@return

*@throwsException

*/

publicMapdoGetElementMapData(Elementroot,Stringname)throwsException{

List>listMap=newArrayList>();

Mapmap=newHashMap();

Iterator

>iter=root.elementIterator();

while(iter.hasNext()){

Elementelement=(Element)iter.next();

Stringnme=name+"-"+element.getName().trim();

intsize=element.elements().size();

if(size>0){//有子元素

booleanflag=isRepeat(element);

if(flag){//有重复项

listMap.addAll(doGetElementListMapData(element,nme));

}else{

map.putAll(doGetElementMapData(element,nme));

}

}else{

map.put(nme,element.getTextTrim());

}

}

if(null!

=listMap&&listMap.size()>0){

map.put(name,listMap);

}

returnmap;

}

/**

*获取重复元素下所有集合

*@paramroot

*@paramname

*@return

*@throwsException

*/

publicList>doGetElementListMapData(Elementroot,Stringname)throwsException{

List>listMap=newArrayList>();

Mapmap=newHashMap();

Iterator

>iter=root.elementIterator();

while(iter.hasNext()){

Elementelement=(Element)iter.next();

Stringnme=name+"-"+element.getName().trim();

intsize=element.elements().size();

if(size>0){//有子元素

booleanflag=isRepeat(element);

if(flag){//有重复项

listMap.addAll(doGetElementListMapData(element,nme));

}else{

listMap.add(doGetElementMapData(element,nme));

}

}else{

map.put(nme,element.getTextTrim());

}

}

if(!

map.isEmpty()){

listMap.add(map);

}

returnlistMap;

}

/**

*判断是否有重复元素

*@paramroot

*@return

*@throwsException

*/

publicbooleanisRepeat(Elementroot)throwsException{

intk=0;

Stringnum[]=newString[root.elements().size()];

Iterator

>iter=root.elementIterator();

while(iter.hasNext()){

Elementelement=(Element)iter.next();

num[k]=element.getName().trim();

k++;

}

for(inti=0;i

for(intj=i+1;j

Stringone=num[i].trim();

Stringtwo=num[j].trim();

if(one.equals(two)){

returntrue;

}

}

}

returnfalse;

}

}

二、测试xml源码:

xmlversion="1.0"encoding="UTF-8"?

>

代码

  

  保费

  

  

  承保险别

  

  

  承保险别

  

  

  承保险别

  

  

  承保险别

  

  

  承保险别

  

  

  承保险别

  

  

  

  

 

 

  吨位

  

  承保险别

  保险金额

  

 

三、集合对象源码:

{root-compulsory_insurance_detail-underwriting_details-type=承保险别,

root-compulsory_insurance_detail-tonnage=吨位,

root-compulsory_insurance_detail-underwriting_details-insured_amount=保险金额,

root-commercial_insurance_detail=[

{root-commercial_insurance_detail-underwriting_details-underwriting_detail-type=承保险别},

{root-commercial_insurance_detail-underwriting_details-underwriting_detail-type=承保险别},

{root-commercial_insurance_detail-underwriting_details-underwriting_detail=[

{root-commercial_insurance_detail-underwriting_details-underwriting_detail-details-detail-type=承保险别},

{root-commercial_insurance_detail-underwriting_details-underwriting_detail-details-detail-type=承保险别},

{root-commercial_insurance_detail-underwriting_details-underwriting_detail-details-detail-type=承保险别}

],root-commercial_insurance_detail-underwriting_details-underwriting_detail-type=承保险别}

],

root-code=代码,

root-commercial_insurance_detail-premium=保费}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1