java實(shí)現(xiàn)的xml格式化實(shí)現(xiàn)代碼
更新時(shí)間:2016年11月08日 23:53:57 投稿:mdxy-dxy
這篇文章主要介紹了java實(shí)現(xiàn)的xml格式化實(shí)現(xiàn)代碼,需要的朋友可以參考下
核心代碼:
package com.ddatsh;
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 Exception {
SAXReader reader = new SAXReader();
// System.out.println(reader);
// 注釋:創(chuàng)建一個(gè)串的字符輸入流
StringReader in = new StringReader(str);
Document doc = reader.read(in);
// System.out.println(doc.getRootElement());
// 注釋:創(chuàng)建輸出格式
OutputFormat formater = OutputFormat.createPrettyPrint();
//formater=OutputFormat.createCompactFormat();
// 注釋:設(shè)置xml的輸出編碼
formater.setEncoding("utf-8");
// 注釋:創(chuàng)建輸出(目標(biāo))
StringWriter out = new StringWriter();
// 注釋:創(chuàng)建輸出流
XMLWriter writer = new XMLWriter(out, formater);
// 注釋:輸出格式化的串到目標(biāo)中,執(zhí)行后。格式化后的串保存在out中。
writer.write(doc);
writer.close();
System.out.println(out.toString());
// 注釋:返回我們格式化后的結(jié)果
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);
}
}
oschina用的在線格式化xml的工具就是使用此段代碼。
您可能感興趣的文章:
- java實(shí)現(xiàn)XML增加元素操作簡(jiǎn)單示例
- java 與testng利用XML做數(shù)據(jù)源的數(shù)據(jù)驅(qū)動(dòng)示例詳解
- Java開(kāi)發(fā)中讀取XML與properties配置文件的方法
- java實(shí)現(xiàn)Spring在XML配置java類的方法
- 詳解Java解析XML的四種方法
- Java獲取XML節(jié)點(diǎn)總結(jié)之讀取XML文檔節(jié)點(diǎn)的方法
- java對(duì)xml節(jié)點(diǎn)屬性的增刪改查實(shí)現(xiàn)方法
- xml與Java對(duì)象的轉(zhuǎn)換詳解
相關(guān)文章
詳解Java子線程異常時(shí)主線程事務(wù)如何回滾
如果主線程向線程池提交了一個(gè)任務(wù),如果執(zhí)行這個(gè)任務(wù)過(guò)程中發(fā)生了異常,如何讓主線程捕獲到該異常并且進(jìn)行事務(wù)的回滾?本篇文章帶給你答案2022-03-03
Springboot中useGeneratedKeys用法小結(jié)
本文主要介紹了Springboot中useGeneratedKeys用法小結(jié),useGeneratedKeys?是 MyBatis 框架中的一個(gè)參數(shù),用于指定是否允許 JDBC 支持自動(dòng)生成主鍵,感興趣的可以了解一下2024-09-09
SpringBoot中使用Session共享實(shí)現(xiàn)分布式部署的示例代碼
這篇文章主要介紹了SpringBoot中使用Session共享實(shí)現(xiàn)分布式部署的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
SpringBoot Maven項(xiàng)目中Model間的最佳繼承設(shè)計(jì)詳解
這篇文章主要為大家詳細(xì)介紹了SpringBoot中一個(gè)優(yōu)秀Maven項(xiàng)目的各Model間最佳繼承設(shè)計(jì)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-01-01
Mybatis?mysql模糊查詢方式(CONCAT多個(gè)字段)及bug
這篇文章主要介紹了Mybatis?mysql模糊查詢方式(CONCAT多個(gè)字段)及bug,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
Spring boot整合Mybatis-plus過(guò)程解析
這篇文章主要介紹了Spring boot整合Mybatis-plus過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03

