JAVA生成xml文件简单示例

 更新时间:2023年07月26日 14:08:14   作者:甜甜圈的小饼干  
这篇文章主要介绍了JAVA生成xml文件的相关资料,在Java中可以使用DOM或者JDOM来生成XML文件,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

JAVA生成xml文件

一、导包

自动生成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.创建dom对象
        Document document = DocumentHelper.createDocument();
        // 3.添加节点,根据需求添加,这里我只是设置了一个head节点,下面有name和age两个子节点
        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、利用文件输出流输出到文件, 文件输出到了您的项目根目录下了
        try (FileOutputStream fos = new FileOutputStream(fileName + ".xml")) {
            fos.write(out.toByteArray());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

三、结果展示

<?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>

总结 

到此这篇关于JAVA生成xml文件的文章就介绍到这了,更多相关JAVA生成xml文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一篇文章带你了解Java基础-多态

    一篇文章带你了解Java基础-多态

    这篇文章主要介绍了Java 多态的深入理解的相关资料,子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为,需要的朋友可以参考下
    2021-08-08
  • 如何解决Maven无法拉取SNAPSHOT依赖问题

    如何解决Maven无法拉取SNAPSHOT依赖问题

    在使用Maven管理项目时,可能会遇到无法拉取SNAPSHOT版本依赖的问题,这通常是因为Maven默认不支持直接拉取SNAPSHOT版本,遇到这样的问题,可以通过在项目的pom.xml文件中添加<repositories>标签,并配置启用SNAPSHOT的仓库地址来解决
    2024-10-10
  • JeecgBoot文件上传实现方式

    JeecgBoot文件上传实现方式

    JeecgBoot提供本地和阿里云两种文件上传方式,本地上传需要修改配置文件,设置上传目录,并在前端页面展示图片时进行相应的配置,阿里云上传则需要注册阿里云账号,开通OSS服务,并在配置文件中进行相应的设置,上传到阿里云OSS的文件会直接存储完整链接,后台不需要拼接
    2026-01-01
  • LinkedBlockingQueue链式阻塞队列的使用和原理解析

    LinkedBlockingQueue链式阻塞队列的使用和原理解析

    这篇文章主要介绍了LinkedBlockingQueue链式阻塞队列的使用和原理解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • springboot连接不同数据库的写法详解

    springboot连接不同数据库的写法详解

    这篇文章主要介绍了springboot连接不同数据库的写法 ,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Java实战玩具商城的前台与后台实现流程

    Java实战玩具商城的前台与后台实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+JSP+SSM+Springboot+Jsp+maven+Mysql实现一个玩具商城系统,大家可以在过程中查缺补漏,提升水平
    2022-01-01
  • 将java程序打包成可执行文件的实现方式

    将java程序打包成可执行文件的实现方式

    本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带工具(jpackage),每种方法都有其优缺点,可根据实际需求选择合适的方式
    2025-02-02
  • Kafka日志清理实现详细过程讲解

    Kafka日志清理实现详细过程讲解

    这篇文章主要为大家介绍了Kafka日志清理实现详细过程讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Spring boot如何集成kaptcha并生成验证码

    Spring boot如何集成kaptcha并生成验证码

    这篇文章主要介绍了Spring boot如何集成kaptcha并生成验证码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Mybatis参数处理的几种方法小结

    Mybatis参数处理的几种方法小结

    在Mybatis中如何处理参数是一个非常重要的环节,本文将详细介绍 Mybatis 的参数处理机制,包括传入参数和返回参数的处理方式,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08

最新评论