解析xml文件

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;



public static Map<String,String> getXmlMap(String xmlData) throws DocumentException{

            //定义
            Map<String,String> mapdata=new HashMap<String,String>();
            //定义读取对象
            SAXReader reader = new SAXReader();
            //读入xml文件
            Document doc=DocumentHelper.parseText(xmlData);
            //获取根节点的元素,也就是
            Element rootElement=doc.getRootElement();
            System.out.print("根节点的名字==="+rootElement.getName());
            //获取遍历处根节点下面的子节点
            List<Element> elementList=rootElement.elements();
            for(int i=0;i<elementList.size();i++){
                //遍历第一个根节点
                Element elementBean=elementList.get(i);
                //分析节点
                mapdata=analysisElement(elementBean,mapdata);
            }
            
            return mapdata;
            
        }
    
     public static Map<String,String> analysisElement(Element elem,Map<String,String> mapData){
         //首先判断该元素有没有根节点
         //true 有根节点则继续调用分析元素
         if(elem.elements().size()>0){
            //继续进行循环遍历
          List<Element> sonElementList=elem.elements();
          for(int i=0;i<sonElementList.size();i++){
              Element elementBean=sonElementList.get(i);
                //分析节点
              mapData=analysisElement(elementBean,mapData);
          }
         //如果没有则放入map并且返回数据    
         }else{
             mapData.put(elem.getName(), elem.getTextTrim());
             System.out.println("name="+elem.getName()+"***value="+elem.getTextTrim());
         }
        
         return mapData;
     }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值