您的位置:首页 > 其它

map 转换 xml ; xml转map

2016-04-06 15:24 225 查看
public class MessageKit {

public static String map2xml(Map<String, String> map) throws IOException {
Document d = DocumentHelper.createDocument();
Element root = d.addElement("xml");
Set<String> keys = map.keySet();
for(String key:keys) {
root.addElement(key).addText(map.get(key));
}
StringWriter sw = new StringWriter();
XMLWriter xw = new XMLWriter(sw);
xw.setEscapeText(false);
xw.write(d);
return sw.toString();
}
}

测试方法:


@Test
public void testMsg() {
try {
Map<String,String> maps = new HashMap<String, String>();
maps.put("123", "abc");
maps.put("bcd", "222");
maps.put("bcd", "<abc>ddd</abc>");
System.out.println(MessageKit.map2xml(maps));
} catch (IOException e) {
e.printStackTrace();
}
}


xml格式字符串转map

xml格式字符串:

<xml><ToUserName><![CDATA[gh_46265bed77c6]]></ToUserName><FromUserName><![CDATA[oUigKxHuNI-QMHKzvyYpw1lCY8VQ]]></FromUserName><CreateTime>1459927356</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[sdf]]></Content><MsgId>6270340248959115708</MsgId></xml>

public static Map<String,String> reqMsg2Map(HttpServletRequest req) throws IOException {
String xml = req2xml(req);
System.out.println(xml);
try {
Map<String,String> maps = new HashMap<String, String>();
Document document = DocumentHelper.parseText(xml);
Element root = document.getRootElement();
List<Element> eles = root.elements();
for(Element e:eles) {
maps.put(e.getName(), e.getTextTrim());
}
return maps;
} catch (DocumentException e) {
e.printStackTrace();
}
return null;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: