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;
}