throws DocumentException {
Document document = DocumentHelper.parseText(xml);
Element root = document.getRootElement();
return parseElement(root);
}
/**
* 解析Element
*
* @param root
* @return
*/
@SuppressWarnings("unchecked")
private static Map<String, String> parseElement(Element root) {
Iterator<Element> rootItor = root.elementIterator();
Map<String, String> rsltMap = new HashMap<>();
while (rootItor.hasNext()) {
Element tmpElement = rootItor.next();
if (!tmpElement.isTextOnly()) {
Iterator<Element> headItor = tmpElement.elementIterator();
while (headItor.hasNext()) {
Element hElement = headItor.next();
if (hElement.isTextOnly()) {
rsltMap.put(hElement.getName(), hElement.getTextTrim());
} else {
rsltMap.putAll(parseElement(hElement));
}
}
}else{
rsltMap.put(tmpElement.getName(), tmpElement.getTextTrim());
}
}
return rsltMap;
}