</pre><p><span style="font-size:18px;">1.java中将Map中的数据转换成sml</span></p><p><pre name="code" class="java"><span style="font-size:18px;">// 生成xml
public String parseXML(Map<String, String> params) {
StringBuffer sb = new StringBuffer();
sb.append("<xml>");
Set es = params.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();
if (null != v && !"".equals(v) && !"appkey".equals(k)) {
sb.append("<" + k + ">" + params.get(k) + "</" + k + ">\n");
}
}
sb.append("</xml>");
return sb.toString();
}</span>
2.java解析String类型的xml文件
<span style="font-size:18px;">/**
* 解析String的xml文件
*
* @param request
* @return
*/
public static Map<String, String> parseXmlString(String request) {
// 将解析结果存储在HashMap中
Map<String, String> map = new HashMap<String, String>();
// 从request中取得输入流
InputStream inputStream;
try {
// inputStream = new ByteArrayInputStream(request.getBytes());
// SAXReader reader = new SAXReader();
// 将字符串转为XML
Document document = DocumentHelper.parseText(request);
// 得到xml根元素
Element root = document.getRootElement();
// 得到根元素的所有子节点
List<Element> elementList = root.elements();
// 遍历所有子节点
for (Element e : elementList)
map.put(e.getName(), e.getText());
// 释放资源
// inputStream.close();
} catch (DocumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
inputStream = null;
return map;
}
</span>