dom4j格式化XML文件

来源:互联网 发布:淘宝星期四数码 编辑:程序博客网 时间:2024/05/17 21:59

现在有任务要求比对2个XML文件是否相同,我把XML文件转换成String类型之后比较发现比较不通过,原来还有格式要求,带换行或者空格的话2个XML格式比较就不一样,所以需要进行格式化。

从网上搜下下,然后改了改就可以了。

view plaincopy to clipboardprint?
/** 
     * 格式化XML文件 
     * @param xml 
     * @return 
     * @throws DocumentException  
     * @throws IOException  
     */ 
    private  String formatXml(String xml) throws DocumentException, IOException{              
                    
        SAXReader saxReader = new SAXReader();   
       
        Document document = saxReader.read(new ByteArrayInputStream(xml.getBytes()));     
        //创建输出格式  
        OutputFormat format = OutputFormat.createPrettyPrint();       
        //制定输出xml的编码类型  
        format.setEncoding("gb2312");  
          
        StringWriter writer = new StringWriter();  
        //创建一个文件输出流  
        XMLWriter xmlwriter = new XMLWriter( writer, format );  
        //将格式化后的xml串写入到文件  
        xmlwriter.write(document);   
       String returnValue = writer.toString();  
        writer.close();    
           
        //返回编译后的字符串格式  
         return returnValue;  
    } 
/**
  * 格式化XML文件
  * @param xml
  * @return
  * @throws DocumentException
  * @throws IOException
  */
 private  String formatXml(String xml) throws DocumentException, IOException{   
     
     SAXReader saxReader = new SAXReader();
 
  Document document = saxReader.read(new ByteArrayInputStream(xml.getBytes()));  
  //创建输出格式
  OutputFormat format = OutputFormat.createPrettyPrint();  
  //制定输出xml的编码类型
  format.setEncoding("gb2312");
  
  StringWriter writer = new StringWriter();
  //创建一个文件输出流
  XMLWriter xmlwriter = new XMLWriter( writer, format );
  //将格式化后的xml串写入到文件
  xmlwriter.write(document);
       String returnValue = writer.toString();
        writer.close(); 
        
        //返回编译后的字符串格式
         return returnValue;
 }

OutputFormat类的createCompactFormat()方法或createPrettyPrint()方法格式化输出,默认采用createCompactFormat()方法,显示比较紧凑


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaxiaorui2003/archive/2009/04/19/4091752.aspx

原创粉丝点击