• 格式化xml


    在程序代码开发过程中,我们可能有时候需要将xml报文进行格式化一下,整理了一下,大概有两种方法:

     1 public String formatXml(String inputXml){
     2         SAXReader reader = new SAXReader();
     3         XMLWriter writer = null;
     4         String requestXml = null;
     5         try {
     6             Document document = reader.read(new StringReader(inputXml));
     7             if(document!=null){
     8                 StringWriter stringWriter = new StringWriter();
     9                 OutputFormat format = new OutputFormat(" ", true);
    10                 format.setEncoding("GBK");
    11                 format.setNewLineAfterDeclaration(false);//设置不存在空行
    12                 writer = new XMLWriter(stringWriter, format);
    13                 writer.write(document);
    14                 writer.flush();
    15                 requestXml = stringWriter.getBuffer().toString();
    16             }
    17         } catch (IOException e) {
    18             e.printStackTrace();
    19         } catch (DocumentException e) {
    20             e.printStackTrace();
    21         }finally{
    22             if(writer!=null){
    23                 try {
    24                     writer.close();
    25                 } catch (IOException e) {
    26                     e.printStackTrace();
    27                 }
    28             }
    29         }
    30         return requestXml;
    31     }
    32     
    33     public void formatXml2(String inputXml){
    34         Format format = Format.getCompactFormat();
    35         format.setEncoding("UTF-8");
    36         format.setIndent(" ");
    37         XMLOutputter outputter = new XMLOutputter(format);
    38         org.jdom.Document document=null;
    39         try {
    40             ByteArrayOutputStream bo = new ByteArrayOutputStream(); 
    41             StringReader reader = new StringReader(inputXml);
    42             document = (new SAXBuilder()).build(reader);
    43             outputter.output(document, bo);
    44             System.out.println(bo.toString());
    45         } catch (JDOMException e) {
    46             e.printStackTrace();
    47         } catch (IOException e) {
    48             e.printStackTrace();
    49         }
    50     }
  • 相关阅读:
    最近想做的开发配套工具
    nodejs 入门
    MySQL Server 5.6 配置文件my.ini 以及windows上mysql表名区分大小写
    js闭包实例汇总
    javascript深入理解js闭包
    jQuery中$.fn的用法示例介绍
    css3图片旋转
    JS中的prototype
    追求极致--纯css制作三角、圆形按钮,兼容ie6
    CSS 最核心的几个概念
  • 原文地址:https://www.cnblogs.com/yby-blogs/p/5601826.html
Copyright © 2020-2023  润新知