xml解析为java集合对象.doc_第1页
xml解析为java集合对象.doc_第2页
xml解析为java集合对象.doc_第3页
xml解析为java集合对象.doc_第4页
xml解析为java集合对象.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、Project menu截图: 二、Test main截图: 三、doGetElementMapData截图: 四、doGetElementListMapData截图: 五、isRepeat截图:六、测试xml截图: 七、xml转换集合对象截图: 八、源码:一、java源码:package com.test;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.DocumentHelper;import org.dom4j.Element;public class TestOne /* * param args */public static void main(String args) throws ExceptionString str = + 代码+ 保费+ + + 承保险别+ + + 承保险别+ + + 承保险别+ + + 承保险别+ + + 承保险别+ + + 承保险别+ + + + + 吨位+ + 承保险别+ 保险金额+ +;System.out.println(str);TestOne to = new TestOne();Document doc = DocumentHelper.parseText(str);Element root = doc.getRootElement();Map map = to.doGetElementMapData(root, root.getName().trim();System.out.println(map.toString();/* * 获取所有非重复元素下的集合 * param root * param name * return * throws Exception */public Map doGetElementMapData(Element root,String name)throws ExceptionListMap listMap = new ArrayListMap();Map map = new HashMap();Iterator iter = root.elementIterator();while(iter.hasNext()Element element = (Element) iter.next();String nme = name+-+element.getName().trim();int size = element.elements().size();if(size0)/有子元素boolean flag = isRepeat(element);if(flag)/有重复项listMap.addAll(doGetElementListMapData(element, nme);elsemap.putAll(doGetElementMapData(element, nme);elsemap.put(nme, element.getTextTrim();if(null!=listMap & listMap.size()0)map.put(name, listMap);return map;/* * 获取重复元素下所有集合 * param root * param name * return * throws Exception */public ListMap doGetElementListMapData(Element root,String name)throws ExceptionListMap listMap = new ArrayListMap();Map map = new HashMap();Iterator iter = root.elementIterator();while(iter.hasNext()Element element = (Element) iter.next();String nme = name+-+element.getName().trim();int size = element.elements().size();if(size0)/有子元素boolean flag = isRepeat(element);if(flag)/有重复项listMap.addAll(doGetElementListMapData(element, nme);elselistMap.add(doGetElementMapData(element, nme);elsemap.put(nme, element.getTextTrim();if(!map.isEmpty()listMap.add(map);return listMap;/* * 判断是否有重复元素 * param root * return * throws Exception */public boolean isRepeat(Element root)throws Exceptionint k = 0;String num = new Stringroot.elements().size();Iterator iter = root.elementIterator();while(iter.hasNext()Element element = (Element) iter.next();numk=element.getName().trim();k+;for (int i = 0; i num.length; i+) for (int j = i+1; j num.length; j+) String one = numi.trim();String two = numj.trim();if(one.equals(two)return true;return false; 二、测试xml源码: 代码 保费 承保险别 承保险别 承保险别 承保险别 承保险别 承保险别 吨位 承保险别 保险金额 三、集合对象源码: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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论