Map与XML的相互转换

工具类:

public class XmlUtils {

    /**
     * 功能描述: Map 转 Xml字符串
     */
    public static String map2Xml(Map<String , String> paras) {
        SortedMap<String, String> paraMap = new TreeMap<String, String>();
        paraMap.putAll(paras);
        String xmlStr = "<xml>";
        Set es = paraMap.entrySet();
        Iterator it = es.iterator();
        while (it.hasNext()) {
            Map.Entry entry = (Map.Entry) it.next();
            String k = (String) entry.getKey();
            String v = (String) entry.getValue();
            xmlStr += "<" + k + ">" + v + "</" + k + ">";
        }
        xmlStr += "</xml>";
        return xmlStr;
    }

    /**
     * 功能描述: XML字符串 转 Map
     */
    public static Map<String, String> xml2Map(String xmlStr) throws Exception {
        // TODO
        Map<String, String> rtnMap = new HashMap<String, String>();
        Document doc = null;
        try {
            doc = DocumentHelper.parseText(xmlStr);//通过DOM4J解析XML字符串
        } catch (DocumentException e) {
            e.printStackTrace();
        }
        //得到根节点
        Element root = doc.getRootElement();
        // 获取所有子元素
        for (Iterator i = root.elementIterator(); i.hasNext();) {
            Element el = (Element) i.next();
            rtnMap.put(el.getName(), el.getText());

        }
        return rtnMap;
    }
 }

测试类:

public class XMLTest2 {
    public Map<String,String> init(){
        HashMap<String, String> map = new HashMap<>();
        map.put("parm1","value1");
        map.put("parm2","value2");
        map.put("parm3","value3");
        map.put("parm4","value4");
        map.put("parm5","value5");
        return map;
    }
    @Test
    public void MapAndXml() throws Exception {
        Map<String, String> map = init();
        String xml = XmlUtils.map2Xml(map);
        System.out.println(xml);
        Map<String, String> xml2Map = XmlUtils.xml2Map(xml);
        System.out.println(xml2Map);
    }
}

输出:

<xml>
  <parm1>value1</parm1>
  <parm2>value2</parm2>
  <parm3>value3</parm3>
  <parm4>value4</parm4>
  <parm5>value5</parm5>
</xml>


{parm4=value4, parm5=value5, parm1=value1, parm2=value2, parm3=value3}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值