格式化XML

import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
 
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
	 
	public class xmlFormat {
	 
	    public static String format(String str)
	            throws UnsupportedEncodingException, IOException, DocumentException {
	        // System.out.println(" str :  " + str);
	 
	        SAXReader reader = new SAXReader();
	        // System.out.println(reader);
	        // 註釋:創建一個串的字符輸入流
	        StringReader in = new StringReader(str);
	        Document doc = reader.read(in);
	        // System.out.println(doc.getRootElement());
	        // 註釋:創建輸出格式
	        OutputFormat formater = OutputFormat.createPrettyPrint();
	        //formater=OutputFormat.createCompactFormat();
	        // 註釋:設置xml的輸出編碼
	        formater.setEncoding("utf-8");
	        // 註釋:創建輸出(目標)
	        StringWriter out = new StringWriter();
	        // 註釋:創建輸出流
	        XMLWriter writer = new XMLWriter(out, formater);
	        // 註釋:輸出格式化的串到目標中,執行後。格式化後的串保存在out中。
	        writer.write(doc);
	 
	         writer.close();
	        System.out.println(out.toString());
	        // 註釋:返回我們格式化後的結果
	        return out.toString();
	    }
	 
	    public static void main(String[] args) throws Exception {
	        String head="<?xml version=\"1.0\" encoding=\"GBK\"?>";
	        String str = "<RequestData><HeadData><UserCode>sh1_admin</UserCode><UserName>sh1_admin</UserName><UserCompanyCode>3107</UserCompanyCode><UserCompanyName>上海分公司一部</UserCompanyName><RequestType>03</RequestType></HeadData><BodyData><ReportId>113100000033</ReportId><Insurant>a5rfg87</Insurant><NumberPlate>滬E78612</NumberPlate><EngineModel></EngineModel><CarVin></CarVin><AccidentDate>2011-02-25 15:07:00</AccidentDate><ReportDate>2011-02-25 15:07:00</ReportDate><Province>310000</Province><City>310100</City><District></District><AccidentPlace>1</AccidentPlace><AccidentLongitude></AccidentLongitude><AccidentLatitude></AccidentLatitude><SurveyLongitude></SurveyLongitude><SurveyLatitude></SurveyLatitude><SceneReportFlag></SceneReportFlag><Reporter></Reporter><ReporterTel></ReporterTel><SurveyPlace></SurveyPlace><OperatorId>3525</OperatorId><OperatorName>sh_admin</OperatorName><ReportDealId>30000800</ReportDealId><ReportDealName>江蘇分公司</ReportDealName><CompanyName></CompanyName><CustomerTypeCode></CustomerTypeCode><ForcePolicyId>a5rfg87a5rfg87a5rfg87</ForcePolicyId><BizPolicyId></BizPolicyId><Index>0</Index><FieldName>5</FieldName></BodyData></RequestData>";
	        // System.out.println(str);
	        format(str);
	    }
	 
	}


發佈了37 篇原創文章 · 獲贊 4 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章