现在有任务要求比对2个XML文件是否相同,我把XML文件转换成String类型之后比较发现比较不通过,原来还有格式要求,带换行或者空格的话2个XML格式比较就不一样,所以需要进行格式化。
从网上搜下下,然后改了改就可以了。
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()方法,显示比较紧凑.
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/13648.html