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

相关文章

  • 从HelloWorld和文档注释开始入门Java编程

    从HelloWorld和文档注释开始入门Java编程

    这篇文章主要介绍了从HelloWorld和文档注释开始入门Java编程,涉及到Javadoc工具的使用,需要的朋友可以参考下
    2015-10-10
  • Dwr3.0纯注解(纯Java Code配置)配置与应用浅析二之前端调用后端

    Dwr3.0纯注解(纯Java Code配置)配置与应用浅析二之前端调用后端

    我们讲到了后端纯Java Code的Dwr3配置,完全去掉了dwr.xml配置文件,但是对于使用注解的类却没有使用包扫描,而是在Servlet初始化参数的classes里面加入了我们的Service组件的声明暴露,对于这个问题需要后面我们再细细研究下这篇文章,主要分析介绍前端怎么直接调用后端
    2016-04-04
  • 说说字符串转 OffSetDateTime 你真的会用吗

    说说字符串转 OffSetDateTime 你真的会用吗

    这篇文章主要介绍了字符串转 OffSetDateTime 你真的会用吗?具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • ShardingJdbc读写分离的BUG踩坑解决

    ShardingJdbc读写分离的BUG踩坑解决

    这篇文章主要为大家介绍了ShardingJdbc读写分离的BUG踩坑解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Spring Boot整合MybatisPlus逆向工程(MySQL/PostgreSQL)

    Spring Boot整合MybatisPlus逆向工程(MySQL/PostgreSQL)

    MyBatis-Plus是MyBatis的增强工具,本文主要介绍了Spring Boot整合MybatisPlus逆向工程(MySQL/PostgreSQL),具有一定的参考价值,感兴趣的可以了解一下
    2021-07-07
  • 1小时快速上手RabbitMQ(简介及安装过程)

    1小时快速上手RabbitMQ(简介及安装过程)

    RabbitMQ简称MQ全称是Message Queue(消息队列),是在消息的传输过程中保存消息的容器,多用于分布式系统之间进行通信,本文给大家讲解了RabbitMQ简介与安装,结合实例代码给大家介绍的非常详细,需要的朋友跟随小编一起看看吧
    2023-01-01
  • Java实战项目练习之球馆在线预约系统的实现

    Java实战项目练习之球馆在线预约系统的实现

    理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SpringBoot+maven+freemark+Mysql实现一个球馆在线预约系统,大家可以在过程中查缺补漏,提升水平
    2022-01-01
  • 详解Spring如何解析占位符

    详解Spring如何解析占位符

    Spring一直支持将属性定义到外部的属性的文件中,并使用占占位符的形式为使用"${}"包装的属性名称,为了使用属性占位符,我们必须配置一个PropertyPlaceholderConfigurer或PropertySourcesPlaceholderConfigurer实例,本文将介绍如何解析占位符
    2021-06-06
  • Mybatis执行SQL命令的流程分析

    Mybatis执行SQL命令的流程分析

    这篇文章主要介绍了Mybatis执行SQL命令的流程分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • OPENCV+JAVA实现人脸识别

    OPENCV+JAVA实现人脸识别

    这篇文章主要为大家详细介绍了OPENCV+JAVA实现人脸识别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02

最新评论