JAVA生成xml文件簡單示例
JAVA生成xml文件
一、導(dǎo)包
自動生成xml文件,使用到的jar包為dom4j
<dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency>
二、書寫工具包
package com.rainfe.tdm.df.util;/**
* @author by XXX
* @date 2022/11/21.
* <p>
* 描述:
*/
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
TDM
*
XmlUtil
* @author : fzt
* @date : 2022-11-21 14:29
**/
public class XmlUtil {
public static void main(String[] args) {
// 1.聲明文件名稱
String fileName = "xml_test";
// 2.創(chuàng)建dom對象
Document document = DocumentHelper.createDocument();
// 3.添加節(jié)點(diǎn),根據(jù)需求添加,這里我只是設(shè)置了一個head節(jié)點(diǎn),下面有name和age兩個子節(jié)點(diǎn)
Element esbEnvelop = document.addElement("ESBEnvelop");
Element esbHead = esbEnvelop.addElement("ESBHead");
Element esbBody = esbEnvelop.addElement("ESBBody");
Element appRequest = esbBody.addElement("AppRequest");
Element appReqHead = appRequest.addElement("AppReqHead");
Element tradeCode = appReqHead.addElement("TradeCode");
Element reqSerialNo = appReqHead.addElement("ReqSerialNo");
Element tradeTime = appReqHead.addElement("TradeTime");
Element tradeDescription = appReqHead.addElement("TradeDescription");
Element tradeLogLevel = appReqHead.addElement("TradeLogLevel");
Element reserved = appReqHead.addElement("Reserved");
Element appReqBody = appRequest.addElement("AppReqBody");
Element table = appReqBody.addElement("table").addAttribute("name", "表1").addAttribute("id", "Bom-01-01-eee");
Element rows = table.addElement("rows");
rows.addElement("row").addAttribute("key","value").addAttribute("key1","value1");
tradeCode.addText("這是tradeCode");
reqSerialNo.addText("這是reqSerialNo");
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format1 = sdf.format(date);
tradeTime.addText(format1);
tradeLogLevel.addText("1");
// 4、格式化模板
//OutputFormat format = OutputFormat.createCompactFormat();
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
// 5、生成xml文件
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
XMLWriter writer = new XMLWriter(out, format);
writer.write(document);
writer.close();
} catch (IOException e) {
System.out.println("生成xml文件失敗。文件名【" + fileName + "】");
}
// 6、生成的XML文件
// 7、利用文件輸出流輸出到文件, 文件輸出到了您的項(xiàng)目根目錄下了
try (FileOutputStream fos = new FileOutputStream(fileName + ".xml")) {
fos.write(out.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
}三、結(jié)果展示
<?xml version="1.0" encoding="UTF-8"?>
<ESBEnvelop>
<ESBHead/>
<ESBBody>
<AppRequest>
<AppReqHead>
<TradeCode>這是tradeCode</TradeCode>
<ReqSerialNo>這是reqSerialNo</ReqSerialNo>
<TradeTime>2022-11-21 15:02:27</TradeTime>
<TradeDescription/>
<TradeLogLevel>1</TradeLogLevel>
<Reserved/>
</AppReqHead>
<AppReqBody>
<table name="表1" id="Bom-01-01-eee">
<rows>
<row key="value" key1="value1"/>
</rows>
</table>
</AppReqBody>
</AppRequest>
</ESBBody>
</ESBEnvelop>總結(jié)
到此這篇關(guān)于JAVA生成xml文件的文章就介紹到這了,更多相關(guān)JAVA生成xml文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring使用@Filter注解創(chuàng)建自定義過濾器
Spring 中鮮為人知但非常有用的注解之一是 @Filter,它支持自定義過濾器,下面我們就來深入研究一下如何使用 Spring 的 @Filter 注解來創(chuàng)建自定義過濾器吧2023-11-11
Java實(shí)現(xiàn)讀取鍵盤輸入保存到txt文件,再統(tǒng)計并輸出每個單詞出現(xiàn)次數(shù)的方法
這篇文章主要介紹了Java實(shí)現(xiàn)讀取鍵盤輸入保存到txt文件,再統(tǒng)計并輸出每個單詞出現(xiàn)次數(shù)的方法,涉及java文件I/O操作及字符串遍歷、運(yùn)算實(shí)現(xiàn)統(tǒng)計功能相關(guān)技巧,需要的朋友可以參考下2017-07-07
SpringBoot-application.yml多環(huán)境配置詳解
本文主要介紹了SpringBoot-application.yml多環(huán)境配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Springboot Session共享實(shí)現(xiàn)原理及代碼實(shí)例
這篇文章主要介紹了Springboot Session共享實(shí)現(xiàn)原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08
Java Object類詳解_動力節(jié)點(diǎn)Java學(xué)院整理
Java作為一個龐大的知識體系,涉及到的知識點(diǎn)繁多,本文將從Java中最基本的類java.lang.Object開始談起,對java object類相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2017-04-04

