【JAVA生成xml文件】

JAVA生成xml文件

  1. 准备pom文件所需要的依赖
        <dependency>
			<groupId>dom4j</groupId>
			<artifactId>dom4j</artifactId>
			<version>1.6.1</version>
		</dependency>
  1. 总体思路就是,先声明要生成的文件名称,接着创建document对象,然后添加节点的内容,xml内容添加完之后,初始化xml模板,设置编码格式,生成xml文件,将之前添加的节点写入xml中,最后将生成的xml文件放到想要的目录下。看代码实现:
	public static void main(String[] args) {
		//声明文件名称
        String fileName  = "比奇堡";
		//创建document对象
        Document document = DocumentHelper.createDocument();
        //添加节点
        Element world= document.addElement("world");
        //二级
        Element animal= world.addElement("animal");
        //三级
        Element haimian= animal.addElement("haimian");
        //四级
        Element hName= animal.addElement("hName");
        hName.setText("海绵宝宝");
        Element hSex= animal.addElement("hSex");
        hSex.setText("男");
        //三级
        Element paidaxing= animal.addElement("paidaxing");
        //四级
        Element pName= animal.addElement("pName");
        pName.setText("派大星");
        Element pSex= animal.addElement("pSex");
        pSex.setText("男");
	
		//格式化模板
		//漂亮的格式	
        OutputFormat format = OutputFormat.createPrettyPrint();
		//紧凑的格式	一般情况是不会使用这种的,因为阅读起来比较累
		//OutputFormat format = OutputFormat.createCompactFormat();
        format.setEncoding("UTF-8");
        //解决声明下空行问题
        format.setNewLineAfterDeclaration(false);
		//生成xml文件
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        try {
            XMLWriter xmlWriter = new XMLWriter(stream, format);
            xmlWriter.write(document);
            xmlWriter.close();
        }catch (IOException e){
            System.out.println("失败");
        }
        // 6、生成的XML文件
        // 7、利用文件输出流输出到文件, 文件输出到了您的项目根目录下了  E:\海绵宝宝的家\菠萝,此处不设置路径就会自动生成在项目所在的根目录下
        try (FileOutputStream fos = new FileOutputStream("E://海绵宝宝的家/菠萝/"+fileName + ".dat")) {
            fos.write(stream.toByteArray());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
  1. 看下生成的效果:
<?xml version="1.0" encoding="UTF-8"?>
<world>
  <animal>
    <haimian>
      <hName>海绵宝宝</hName>
      <hSex></hSex>
    </haimian>
    <paidaxing>
      <pName>派大星</pName>
      <pSex></pSex>
    </paidaxing>
  </animal>
</world>
  • 总结
  • 通过DocumentHelper的静态方法createDocument创建一个Document对象
    创建节点:Document对象的addElement方法 返回Element对象
    节点添加内容:Element对象的setText、add方法
    创建XMLWriter对象 (new) (可使用输出流、OutputFormat作为参数,分别给出输出地址和格式)
    XMLWriter对象的setEscapeText方法可以设置字符是否转义,默认true(转义)
    调用XMLWriter对象的write方法,Document对象作为参数
    关闭XMLWriter对象,以及相关资源的close操作。
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值