JAVA如何实现map集合转Xml呢?
下文笔者讲述java代码实现map集合转xml的方法及示例分享,如下所示
map集合转xml的实现思路 遍历元素 然后为一个xml字符串例:Map转xml的示例
import java.util.Iterator; import java.util.SortedMap; import java.util.TreeMap; public class MainTest { /** * map转xml格式 * @param sortedMap * @return */ public static String mapToXml(SortedMap<Object, Object> sortedMap) { StringBuffer sb = new StringBuffer("<Request>"); Iterator iterator = sortedMap.keySet().iterator(); while (iterator.hasNext()) { Object key = (String) iterator.next(); Object value = sortedMap.get(key); sb.append("<" + key + ">"); sb.append(value); sb.append("</" + key + ">"); } sb.append("</Request>"); return sb.toString(); } public static void main(String[] args) { SortedMap<Object, Object> paramMap = new TreeMap<Object, Object>(); paramMap.put("code1", 888); paramMap.put("code2", 999); paramMap.put("code3", 666); String soapXML =mapToXml(paramMap); System.out.println(soapXML); } } ----运行以上代码,将输出以下信息 <Request><code1>888</code1><code2>999</code2><code3>666</code3></Request>
多结构xml转换
/** * map转xml格式(多结构拼接生成) * @param sortedMap * @return */ public static String mapToSignXml(SortedMap<Object, Object> sortedMap) { StringBuilder builder = new StringBuilder(); Iterator iterator = sortedMap.keySet().iterator(); while (iterator.hasNext()) { Object key = (String) iterator.next(); Object value = sortedMap.get(key); builder.append("<" + key + ">"); if (value instanceof SortedMap) { SortedMap sortedMap1 = (SortedMap) value; builder.append(mapToSignXml(sortedMap1)); } else { builder.append(value); } builder.append("</" + key + ">"); } return builder.toString(); } public static void main(String[] args) { SortedMap<Object, Object> requestMap = new TreeMap<Object, Object>(); SortedMap<Object, Object> paramMap = new TreeMap<Object, Object>(); paramMap.put("requid", "111"); SortedMap<Object, Object> retrieveargsMap = new TreeMap<Object, Object>(); retrieveargsMap.put("code1", 111); retrieveargsMap.put("code2", 222); SortedMap<Object, Object> paramMap1 = new TreeMap<Object, Object>(); paramMap1.put("child1", "1111"); paramMap1.put("child2", "2222"); paramMap1.put("child3", "3333"); retrieveargsMap.put("code3", paramMap1); paramMap.put("retriev", retrieveargsMap); requestMap.put("request",paramMap); String soapXML = mapToSignXml(requestMap); System.out.println(soapXML); } 生成结果 <request> <requid>111</requid> <retriev> <code1>111</code1> <code2>222</code2> <code3> <child1>1111</child1> <child2>2222</child2> <child3>3333</child3> </code3> </retriev> </request>
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。