JAVA如何实现map集合转Xml呢?

欣喜 Java经验 发布时间:2024-02-02 09:50:57 阅读数:11648 1
下文笔者讲述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>
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202402/17068386887881.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者