code: @SuppressWarnings("unchecked")
      public Map<String, Object> parse(String xml) {
          try {
              Document document = parseText(xml);
              Element root = document.getRootElement();
              if (root.elements().size() == 0) {
                  Map<String, Object> map = new HashMap<>();
                  map.put(root.getName(), root.getText());
                  return map;
              } else {
                  return (HashMap<String, Object>) parse(root);
              }
          } catch (Exception e) {
              log.error("xml格式不正确", e);
              return null;
          }
      }
docs: 解析XML，将xml解析为map（注意：如果XML是&lt;a&gt;data&lt;b&gt;bbb&lt;/b&gt;&lt;/a&gt;
  这种格式那么data将不被解析，对于list可以正确解析）
  
  @param xml xml字符串
  @return 由xml解析的Map，可能是String类型或者Map&lt;String, Object&gt;类型，其中Map的value有可能
  是Stirng类型，也有可能是List&lt;String&gt;类型