code: @SuppressWarnings("unchecked")
      private Object parse(Element element) {
          List<Element> elements = element.elements();
          if (elements.size() == 0) {
              return element.getText();
          } else {
              Map<String, Object> map = new HashMap<>();
              for (Element ele : elements) {
                  Object result = parse(ele);
                  if (map.containsKey(ele.getName())) {
                      // 如果map中已经包含该key，说明该key有多个，是个list
                      Object obj = map.get(ele.getName());
                      List<String> list;
                      if (obj instanceof List) {
                          // 如果obj不等于null并且是list对象，说明map中存的已经是一个list
                          list = (List<String>) obj;
                      } else {
                          // 如果obj等于null或者不是list对象，那么新建一个list对象
                          list = new ArrayList<>();
                          list.add(obj == null ? null : String.valueOf(obj));
                      }
                      list.add(result == null ? null : String.valueOf(result));
                      map.put(ele.getName(), list);
                  } else {
                      map.put(ele.getName(), result);
                  }
              }
              return map;
          }
      }
docs: 解析element
  
  @param element element
  @return 解析结果，可能是String类型或者Map&lt;String, Object&gt;类型，其中Map的value有可能是Stirng类型，也有可能
  是List&lt;String&gt;类型