import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; 
/**
     * XML格式字符串转换为Map
     * @作者 廖正瀚
     * @日期 2017年12月1日
     * @param xml
     * @param charset
     * @return
     * @throws DocumentException 
     * @throws UnsupportedEncodingException 
     */
    public static Map<String, String> xmlToMap(String xml, String charset) throws UnsupportedEncodingException, DocumentException{

    	Map<String, String> respMap = new HashMap<String, String>();

    	SAXReader reader = new SAXReader();
		Document doc = reader.read(new ByteArrayInputStream(xml.getBytes(charset)));
		Element root = doc.getRootElement();
		xmlToMap(root, respMap);
		return respMap;
    }

    public static Map<String, String> xmlToMap(Element tmpElement, Map<String, String> respMap){

    	if (tmpElement.isTextOnly()) {
    		respMap.put(tmpElement.getName(), tmpElement.getText());
    		return respMap;
    	}

    	@SuppressWarnings("unchecked")
		Iterator<Element> eItor = tmpElement.elementIterator();
    	while (eItor.hasNext()) {
    		Element element = eItor.next();
    		xmlToMap(element, respMap);
    	}
    	return respMap;
    }