格式化之前:

<?xml version="1.0" encoding="GBK"?><root><head><code>1</code><message>数据下载成功!</message><rownum>1</rownum></head><body><vehispara id="0"> <sj>2015-08-26 10:30:01.903</sj></vehispara></body></root>

格式化之后:

<?xml version="1.0" encoding="UTF-8"?>

<root>
 <head>
  <code>1</code>
  <message>数据下载成功!</message>
  <rownum>1</rownum>
 </head>
 <body>
  <vehispara id="0">
   <sj>2015-08-26 10:30:01.903</sj>
  </vehispara>
 </body>
</root>

代码如下:

public static String formatXML(String inputXML) {
  SAXReader reader = new SAXReader();
  Document document = null;
  try {
   document = reader.read(new StringReader(inputXML));
  } catch (DocumentException e1) {
   // TODO Auto-generated catch block
   logger.error(ContextUtil.getTrace(e1));
  }
  String requestXML = null;
  XMLWriter writer = null;
  if (document != null) {
   try {
    StringWriter stringWriter = new StringWriter();
    OutputFormat format = new OutputFormat(" ", true);
    writer = new XMLWriter(stringWriter, format);
    writer.write(document);
    writer.flush();
    requestXML = stringWriter.getBuffer().toString();
   } catch (Exception e) {
    // TODO: handle exception
    logger.error(ContextUtil.getTrace(e));
   } finally {
    if (writer != null) {
     try {
      writer.close();
     } catch (IOException e) {
      logger.error(ContextUtil.getTrace(e));
     }
    }
   }
  }
  return requestXML;
 }


注意:本文归作者所有,未经作者允许,不得转载