上代码
package com.primeton.btp.JCQS.impl.asl;
import java.io.ByteArrayInputStream;
import java.io.StringReader;
import java.io.StringWriter;
import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class StringToDocumentToString {
public static void main(String[] args) throws Exception {
String xmlStr = "<?xml version=\"1.0\" encoding=\"GBK\"?><TXLife><DISTRICT><BankCode>00920000000000</BankCode><Department>00920000000001</Department><InsComCode>1000000</InsComCode></DISTRICT><TXLifeRequest><TransChannel>02</TransChannel><IntTransCode>12103001</IntTransCode><TransExeDate>20230314</TransExeDate><TransExeTime>171004</TransExeTime><OLife><PolTolNum>5</PolTolNum><TolPremAmt>54.44</TolPremAmt><FileContent><PrePolNumber>010007000266319</PrePolNumber><Department>8020400</Department><ClerkCode>015233</ClerkCode><Status>6</Status><PremAmt>10.00</PremAmt></FileContent><FileContent><PrePolNumber>010007000266319</PrePolNumber><Department>8020400</Department><ClerkCode>015233</ClerkCode><Status>6</Status><PremAmt>11.11</PremAmt></FileContent><FileContent><PrePolNumber>010007000266319</PrePolNumber><Department>8020400</Department><ClerkCode>015233</ClerkCode><Status>6</Status><PremAmt>11.11</PremAmt></FileContent></OLife></TXLifeRequest></TXLife>";
System.out.println(formatXml(xmlStr));
}
public static String formatXml(String inputXML) throws Exception {
String xml = null;
SAXReader reader = new SAXReader();
XMLWriter writer = null;
Document document = reader.read(new StringReader(inputXML));
try {
if (document != null) {
StringWriter stringWriter = new StringWriter();
OutputFormat format = OutputFormat.createPrettyPrint();
format.setNewLineAfterDeclaration(false);
writer = new XMLWriter(stringWriter, format);
writer.write(document);
writer.flush();
xml = stringWriter.getBuffer().toString();
}
} finally {
if (writer != null) {
try {
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
return xml;
}
}
输入:
String xmlStr = "<?xml version=\"1.0\" encoding=\"GBK\"?><TXLife><DISTRICT><BankCode>00920000000000</BankCode><Department>00920000000001</Department><InsComCode>1000000</InsComCode></DISTRICT><TXLifeRequest><TransChannel>02</TransChannel><IntTransCode>12103001</IntTransCode><TransExeDate>20230314</TransExeDate><TransExeTime>171004</TransExeTime><OLife><PolTolNum>5</PolTolNum><TolPremAmt>54.44</TolPremAmt><FileContent><PrePolNumber>010007000266319</PrePolNumber><Department>8020400</Department><ClerkCode>015233</ClerkCode><Status>6</Status><PremAmt>10.00</PremAmt></FileContent><FileContent><PrePolNumber>010007000266319</PrePolNumber><Department>8020400</Department><ClerkCode>015233</ClerkCode><Status>6</Status><PremAmt>11.11</PremAmt></FileContent><FileContent><PrePolNumber>010007000266319</PrePolNumber><Department>8020400</Department><ClerkCode>015233</ClerkCode><Status>6</Status><PremAmt>11.11</PremAmt></FileContent></OLife></TXLifeRequest></TXLife>";
运行后输出