当前位置:编程学习 > JAVA >>

用xstream生成xml字符串怎样能没有空格回车。

用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.jar XML --------------------编程问答--------------------
 Writer writer = new StringWriter();
        x.marshal(request, new CompactWriter(writer));
        System.out.println(writer.toString());
--------------------编程问答--------------------

引用 1 楼 Inhibitory 的回复:
 Writer writer = new StringWriter();
        x.marshal(request, new CompactWriter(writer));
        System.out.println(writer.toString());


没明白您的意思 --------------------编程问答-------------------- 楼上的看不懂, 
这个方法可以试下:
//匹配字符串中的空白字符(至少2次)、制表符、回车符、新行(换行)符
              Pattern p = Pattern.compile("\\s{2,}|\t|\r|\n");
              Matcher m = p.matcher(xml);
            String  finalresult = m.replaceAll("");
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,