/**
* 将map转化为xml类型的字符串
* @param map
* @return
*/
public static String callMapToXML(Map map) {
StringBuffer sb = new StringBuffer();
sb.append("<xml>");
mapToXMLTest2(map,sb);
sb.append("</xml>");
try {
return sb.toString();
} catch (Exception e) {
}
return null;
}
private static void mapToXMLTest2(Map map,StringBuffer sb) {
Set set = map.keySet();
for (Iterator it = set.iterator(); it.hasNext();) {
String key = (String) it.next();
Object value = map.get(key);
if (null == value)
value = "";
if (value.getClass().getName().equals("java.util.ArrayList")) {
ArrayList list = (ArrayList) map.get(key);
sb.append("<" + key + ">");
for (int i = 0; i < list.size(); i++) {
HashMap hm = (HashMap) list.get(i);
mapToXMLTest2(hm,sb);
}
sb.append("</" + key + ">");
} else {
if (value instanceof HashMap) {
sb.append("<" + key + ">");
mapToXMLTest2((HashMap) value,sb);
sb.append("</" + key + ">");
} else {
sb.append("<" + key + ">" + value + "</" + key + ">");
}
} } } /** * 把xml类型的字符串转化为map * @param responseResult * @return */ public static Map<String,Object> getMapFromXML(String xmlStr) { SAXBuilder builder = new SAXBuilder(); Map<String,Object> map = new HashMap<String,Object>(); try { Reader in = new StringReader(xmlStr); Document doc = builder.build(in); Element root = doc.getRootElement(); List<Element> list = root.getChildren(); for (Element e : list) map.put(e.getName(),e.getText()); return map; } catch (JDOMException e) { } catch (UnsupportedEncodingException e) { } catch (IOException e) { } catch (Exception e) { } return map; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。