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文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring使用@Filter注解创建自定义过滤器

    Spring使用@Filter注解创建自定义过滤器

    Spring 中鲜为人知但非常有用的注解之一是 @Filter,它支持自定义过滤器,下面我们就来深入研究一下如何使用 Spring 的 @Filter 注解来创建自定义过滤器吧
    2023-11-11
  • JavaWeb工程中集成YMP框架快速上手

    JavaWeb工程中集成YMP框架快速上手

    YMP是一个非常简单、易用的一套轻量级JAVA应用开发框架,设计原则主要侧重于简化工作任务、规范开发流程、提高开发效率。对YMP框架感兴趣的小伙伴们可以参考一下
    2016-02-02
  • MyBatisPlus分页的同时指定排序规则说明

    MyBatisPlus分页的同时指定排序规则说明

    这篇文章主要介绍了MyBatisPlus分页的同时指定排序规则说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法

    Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法

    这篇文章主要介绍了Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法,涉及java文件I/O操作及字符串遍历、运算实现统计功能相关技巧,需要的朋友可以参考下
    2017-07-07
  • SpringBoot-application.yml多环境配置详解

    SpringBoot-application.yml多环境配置详解

    本文主要介绍了SpringBoot-application.yml多环境配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Springboot Session共享实现原理及代码实例

    Springboot Session共享实现原理及代码实例

    这篇文章主要介绍了Springboot Session共享实现原理及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java多线程案例之定时器详解

    Java多线程案例之定时器详解

    定时器也是软件开发中的一个重要组件. 类似于一个 “闹钟”. 达到一个设定的时间之后, 就执行某个指定好的代码。本文就来和大家详细聊聊定时器的原理与使用,感兴趣的可以了解一下
    2022-10-10
  • 深入理解Java强依赖和弱依赖

    深入理解Java强依赖和弱依赖

    本文主要介绍了深入理解Java强依赖和弱依赖,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • java基础的详细了解第五天

    java基础的详细了解第五天

    这篇文章对Java编程语言的基础知识作了一个较为全面的汇总,在这里给大家分享一下。需要的朋友可以参考,希望能给你带来帮助
    2021-08-08
  • Java Object类详解_动力节点Java学院整理

    Java Object类详解_动力节点Java学院整理

    Java作为一个庞大的知识体系,涉及到的知识点繁多,本文将从Java中最基本的类java.lang.Object开始谈起,对java object类相关知识感兴趣的朋友一起学习吧
    2017-04-04

最新评论