您的位置:首页 > 其它

xml字符串转map

2018-01-19 09:20 141 查看
public static Map<String, String> xmlStrToMap(String xml)
  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;
  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: