解析xml文件

来源:互联网 发布:新网站seo 编辑:程序博客网 时间:2024/06/06 01:52

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
原创粉丝点击