用xstream生成的xml现在中间有空格和回车。
因为要对xml进行md5计算。来确定不被篡改。这样有空格和回车就很麻烦。
怎样才能生成没有空格和回车的xml。XStream responseXStream=new XStream();
AnswerMessage ans=new AnswerMessage();
responseXStream.alias("message", AnswerMessage.class);
responseXStream.alias("item", AnswerItem.class);
ans.setStatus("1007");//ip验证错误
ans.setReserve("ip验证错误。拒绝请求");
String result=responseXStream.toXML(ans);
return result;另:
XStream responseXStream=new XStream(new StaxDriver());
用这种方法初始化xstream的话在toxml的时候报错。
Caused by: java.lang.IllegalArgumentException: property "javax.xml.stream.isRepairingNamespaces" not supported已有jar:xmlpull-1.1.3.1.jar,xpp3_min-1.1.4.jar,xstream-1.4.4.jarXML

解决方案 »

  1.   

     Writer writer = new StringWriter();
            x.marshal(request, new CompactWriter(writer));
            System.out.println(writer.toString());
      

  2.   

    楼上的看不懂, 
    这个方法可以试下:
    //匹配字符串中的空白字符(至少2次)、制表符、回车符、新行(换行)符
                  Pattern p = Pattern.compile("\\s{2,}|\t|\r|\n");
                  Matcher m = p.matcher(xml);
                String  finalresult = m.replaceAll("");