MapToXmlUtil.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package com.steerinfo.dil.util;
  2. import java.util.Iterator;
  3. import java.util.List;
  4. import java.util.Map;
  5. import java.util.Set;
  6. /**
  7. * @Description:
  8. * @Author:HuJianGuo
  9. * @GreateTime:2022/4/27 14:35
  10. * @Version:V2.0
  11. */
  12. public class MapToXmlUtil {
  13. /**
  14. * @Description:TODO(循环遍历map节点和value,拼接成xml)
  15. * @param: Map<?, ?> map
  16. * @param: StringBuffer
  17. * @return:
  18. * @auther: HuJianGuo
  19. * @date: 2022/4/27 14:35
  20. * @throws
  21. *
  22. **/
  23. public static void mapToXML(Map<?, ?> map, StringBuffer sb) {
  24. Set<?> set = map.keySet();
  25. for (Iterator<?> it = set.iterator(); it.hasNext();) {
  26. String key = (String) it.next();
  27. Object value = map.get(key);
  28. if (value instanceof Map) {
  29. sb.append("<" + key + ">\n");
  30. mapToXML((Map<?, ?>) value, sb);
  31. sb.append("</" + key + ">\n");
  32. } else if (value instanceof List) {
  33. List<?> list = (List<?>) map.get(key);
  34. for (int i = 0; i < list.size(); i++) {
  35. sb.append("<" + key + ">\n");
  36. Map<?, ?> hm = (Map<?, ?>) list.get(i);
  37. mapToXML(hm, sb);
  38. sb.append("</" + key + ">\n");
  39. }
  40. } else {
  41. sb.append("<" + key + ">" + value + "</" + key + ">\n");
  42. }
  43. }
  44. }
  45. public static String getXmlByMap(Map<?, ?> headMap,Map<?, ?> bodyMap) {
  46. StringBuffer sb = new StringBuffer();
  47. sb.append("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n");
  48. sb.append("<table>\n");
  49. sb.append("<rowCount>1</rowCount>\n");
  50. sb.append("<headCount>17</headCount>\n");
  51. sb.append("<head>\n");
  52. mapToXML(headMap, sb);
  53. sb.append("</head>\n");
  54. sb.append("<body>\n");
  55. mapToXML(bodyMap, sb);
  56. sb.append("</body>\n");
  57. sb.append("</table>");
  58. return sb.toString();
  59. }
  60. }