下面分享一下本人写的工具类,手码的,代码如有写错望指正

1 //body参数是用来作为xml参数最外层的标签头的
 2 public static String jsontoXmlString(JSONObject jsonObject,String body){
 3      Set f=jsonObject.keySet();
 4     
 5      Iterator jsonIterator=f.iterator();
 6      Map<String,String> map=new HashMap();
 7      while(jsonIterator.hasNext()){
 8         String key=(String) jsonIterator.next();
 9         String value=jsonObject.getString(key);
10         if(value.indexOf("[")==0){
11           String xmlString="";
12           JSONArray array=JSONArray.parseArray(jsonObject.getString(key));
13       for(int i=0;i<array.size();i++){
14           JSONObject jsonVo =JSONObject.parseObject(array.get(i).toString());
        //这里是调用本方法,JsonUtil就是我这个工具类的名字
15           String partxmlString=JsonUtil.jsontoXmlString(jsonVo,"meterList");
16         xmlString=xmlString+partxmlString;
17           }
18           value=xmlString;
19        } 
20           map.put(key,value);
21     }        
        //调用下面的方法
22           String xmlString=JsonUtil.getXmlData(bodyKey,map);
return xmlString;
24 }
//map->xmlString
public static String getXmlData(String bodyKey,Map<String,String> map){
  StringBuffer sb=new StringBuffer();
  if(!"".equals(bodyKey)){
     sb.append("<"+bodyKey+">");
  }
  for(String key:map.keySet()){
    sb.append("<"+key+">"+map.get(key)+"</"+key+">");
  }
  if(!"".equals(bodyKey)){
    sb.append("</"+bodyKey+">");    
  }
  return sb.toString();
}