From 1e46b1079b9c3999b4de1059d942608b92881f0f Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Mon, 28 Mar 2022 18:08:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0XML=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E4=B8=B2=E6=A0=BC=E5=BC=8F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/ink/wgink/util/xml/XMLUtil.java | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/basic-util/src/main/java/ink/wgink/util/xml/XMLUtil.java b/basic-util/src/main/java/ink/wgink/util/xml/XMLUtil.java index 3af6c2da..cc0fb03a 100644 --- a/basic-util/src/main/java/ink/wgink/util/xml/XMLUtil.java +++ b/basic-util/src/main/java/ink/wgink/util/xml/XMLUtil.java @@ -1,15 +1,19 @@ package ink.wgink.util.xml; +import ink.wgink.exceptions.base.SystemException; import ink.wgink.util.ReflectUtil; -import org.apache.commons.collections.KeyValue; import org.apache.commons.lang3.StringUtils; import org.dom4j.Document; import org.dom4j.DocumentException; +import org.dom4j.DocumentHelper; import org.dom4j.Element; +import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; +import org.dom4j.io.XMLWriter; import java.io.ByteArrayInputStream; -import java.io.InputStream; +import java.io.IOException; +import java.io.StringWriter; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.nio.charset.StandardCharsets; @@ -72,4 +76,30 @@ public class XMLUtil { return t; } + /** + * 格式化XML字符串 + * + * @param xml + * @return + */ + public static String formatXmlString(String xml) { + StringWriter writer = new StringWriter(); + try { + OutputFormat format = OutputFormat.createPrettyPrint(); + Document document = DocumentHelper.parseText(xml); + // 格式化输出格式 + format.setEncoding("UTF-8"); + // 格式化输出流 + XMLWriter xmlWriter = new XMLWriter(writer, format); + // 将document写入到输出流 + xmlWriter.write(document); + xmlWriter.close(); + } catch (DocumentException e) { + throw new SystemException(e); + } catch (IOException e) { + throw new SystemException(e); + } + return writer.toString(); + } + }