package xml;

import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List; import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter; /**
* @author xingsir
* 使用DOM4J生成XML文档
*/
public class WriteXmlDemo { public static void main(String[] args) {
List<Dept> deptlist=new ArrayList<>();
deptlist.add(new Dept(1,"综合部","2020-01-01",400,"孙悟空"));
deptlist.add(new Dept(2,"人事部","2020-01-01",400,"朱悟能"));
deptlist.add(new Dept(3,"研发部","2020-01-01",400,"白龙马"));
deptlist.add(new Dept(4,"销售部","2020-01-01",400,"沙悟净"));
deptlist.add(new Dept(5,"售后部,","2020-01-01",400,"孙悟空")); try {
Document doc=DocumentHelper.createDocument(); Element root= doc.addElement("list"); for(Dept d : deptlist) {
//向根元素中追加一个<dept>标签
Element empEle = root.addElement("dept");
//追加部门名称
//1 向<dept>标签中追加<name>子标签
Element nameEle = empEle.addElement("name");
//2 向<name>子标签中追加文本信息
nameEle.addText(d.getName());
//追加创建时间
Element creattime= empEle.addElement("creattime");
creattime.addText(d.getCreatetime());
//追加年龄
Element ageEle = empEle.addElement("age");
ageEle.addText(d.getAge()+"");
//追加部长
empEle.addElement("minister").addText(d.getMinister());
//追加一个属性:id="xx"
empEle.addAttribute("id", d.getId()+"");
}
/*
* 将Document对象通过XMLWriter写出以形成 XML文档。
*/
XMLWriter writer = new XMLWriter(
new FileOutputStream("mydept.xml"),
OutputFormat.createPrettyPrint()
);
/*
* 将Document对象通过XMLWriter写出以形成XML文档。
*/
writer.write(doc); System.out.println("写出完毕!");
writer.close(); } catch (Exception e) {
e.printStackTrace();
}
} }

使用DOM4J生成XML文档的更多相关文章

  1. 使用dom4j解析XML文档

    dom4j的包开源包,不属于JDK里面,在myeclipse中要单独导入在项目中,这里不累赘了 做这个过程,很慢,因为很多方法没用过不熟悉,自己得去查帮助文档,而且还得去试,因为没有中文版,英文翻译不 ...

  2. dom4j解析xml文档全面介绍

    一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...

  3. 源生API解析XML文档与dom4j解析XML文档

    一.XML语言 XML是一种可扩展的标记语言,是一种强类型的语言,类似HTML(超文本标记语言,是一种弱类型的语言).XML是一种通用的数据交换格式(关系型数据库),综上所诉:XML可以传输数据,也可 ...

  4. DOM生成XML文档与解析XML文档(JUNIT测试)

    package cn.liuning.test; import java.io.File; import java.io.IOException; import javax.xml.parsers.D ...

  5. SAX解析和生成XML文档

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者: 永恒の_☆ 地址: http://blog.csdn.net/chenghui031 ...

  6. DOM4J解析XML文档

    Tip:DOM4J解析XML文档 Dom4j是一个简单.灵活的开放源代码的库.Dom4j是由早期开发JDOM的人分离出来而后独立开发的.与JDOM不同的是,dom4j使用接口和抽象基类,虽然Dom4j ...

  7. 使用DOM4J解析XML文档,以及使用XPath提取XML文档

    使用DOM4J解析XML文档 需要首先下载DOM4J工具包.这是个第三方工具包 在使用DOM4J解析的时候需要导入 DOM4J的JAR包 下载DOM4J工具包->在MyEclipse中新建lib ...

  8. php7 使用dom动态生成xml文档

    <?php $dom = new DomDocument('1.0','gb2312'); //创建DOM对象 $store = $dom->createElement('store'); ...

  9. JDOM生成XML文档的一般方法

    由于DOM提供的生成XML的方法不够直观,而且要用到各种繁琐的注解,鉴于此可借助第三方库-----JDOM生成XML文档.具体操作方式如下: import java.io.FileOutputStre ...

随机推荐

  1. Python集合语法

    a = {1,2,3,4,5,6,7,8,"aa","2"}    b = {2,3,4,5,6,7,8,9,99,7,6,6} v = a.intersect ...

  2. POI 2001 Goldmine 线段树 扫描线

    题目链接 http://www.acm.cs.ecnu.edu.cn/problem.php?problemid=1350 http://main.edu.pl/en/archive/oi/8/kop ...

  3. 线程高级篇-Lock锁实现生产者-消费者模型

    Lock锁介绍: 在java中可以使用 synchronized 来实现多线程下对象的同步访问,为了获得更加灵活使用场景.高效的性能,java还提供了Lock接口及其实现类ReentrantLock和 ...

  4. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:分割按钮

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 转《Python爬虫学习系列教程》学习笔记

    http://www.cnblogs.com/xin-xin/p/4297852.html

  6. MySQL学习之SQL基础(一)DDL

    Sql基础 DDL (data defination language) 创建表 CREATE TABLE emp( ename varchar(10), hiredate date, sal dec ...

  7. 2-10 就业课(2.0)-oozie:4、通过oozie执行shell脚本

    oozie的配置文件job.properties:里面主要定义的是一些key,value对,定义了一些变量,这些变量往workflow.xml里面传递workflow.xml :workflow的配置 ...

  8. Ubuntu下C++编译指令总结

    本实例只是简单的调用了一个libcurl.a的静态库,实例代码如下: #include <curl/curl.h> #include <iostream> using name ...

  9. Mongoose多表查询

    文章来自 两个表关联查询aggregate 多个表关联查询aggregate populate多表关联查询 多表查询的两个方式 一个是aggregate聚合 一个是populate Schema的外表 ...

  10. 使用python将请求的requests headers参数格式化方法

    import json # 使用三引号将浏览器复制出来的requests headers参数赋值给一个变量 headers = """ Host: zhan.qq.com ...