package com.qxueyou.scc.base.util; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; public final class XmlUtils { private static Logger log = LogManager.getLogger(XmlUtils.class); public static Map parseXML(String xml){ Map result = new HashMap(10); try { Document document = DocumentHelper.parseText(xml); Element root = document.getRootElement(); Element child=null; for(Object element:root.elements()){ child = (Element) element; result.put(child.getName(), child.getText()); } } catch (DocumentException e) { log.error(e,e); } return result; } public static String toXml(Map map,String rootName){ StringBuilder sb = new StringBuilder(300); sb.append("<").append(rootName).append(">"); for(String key:map.keySet()){ sb.append("<").append(key).append(">"); sb.append(""); sb.append(""); } sb.append(""); return sb.toString(); } public static Map parseMutiXML(String xml){ Map result = new HashMap(10); try { Document document = DocumentHelper.parseText(xml); Element root = document.getRootElement(); Element child=null; for(Object element:root.elements()){ child = (Element) element; if(child.getName().contains("list")){// lst组合 result.put(child.getName(), getXMLList(child)); }else{ result.put(child.getName(), child.getText()); } } } catch (DocumentException e) { log.error(e,e); } return result; } @SuppressWarnings({ "rawtypes" }) public static List getXMLList(Element element) { List litObject = new ArrayList(); Iterator objElementIterator = element.elementIterator(); while (objElementIterator.hasNext()) { Element objElement = (Element) objElementIterator.next(); litObject.add(objElement.getText()); } return litObject; } }