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

import java.io.FileOutputStream;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter; public class JDomTest3
{
public static void main(String[] args) throws Exception
{
// 创建一个XML文档。其中方法允许访问根元素和文档类型和其他文档级别的信息。
Document document = new Document(); // 创建XML根元素。方法允许用户获取和操作它的子元素和内容,直接访问元素的文本内容,操纵它的属性可以管理命名空间。
// 获取NamespaceAware
// getNamespacesInScope()的详细信息,命名空间范围是什么以及它在是如何管理的,JDOM提供了具体的管理方法。
Element root = new Element("Employees"); // 给根元素设置属性和属性值,也可以设置命名空间等信息,相同的属性和命名空间将被覆盖。
root.setAttribute("city", "合肥").setAttribute("company", "科大讯飞"); // 将根元素追加到该XML文档的结尾。
document.addContent(root); // 创建根元素下的一个子元素
Element employee = new Element("employee"); // 创建子元素下的子元素
Element id = new Element("id"); // 创建子元素下的子元素
Element name = new Element("name"); // 给子元素添加内容
name.setText("emp1"); // 给子元素添加内容
id.setText("34"); // 将子子元素追加到子元素的结尾
employee.addContent(id); // 将子子元素追加到子元素的结尾
employee.addContent(name); // 将子元素追加到根元素的结尾
root.addContent(employee); // 将JDOM文档对象作为比特流输出到磁盘
XMLOutputter out = new XMLOutputter(); // 设置一个格式化的方法
Format format = Format.getPrettyFormat(); // 设置具体格式化的内容
format.setIndent(" "); // 将格式化的方法添加到输出流中
out.setFormat(format); // JDOM输出流依赖于javaIO流
out.output(document, new FileOutputStream("d:/employees.xml")); } }

JDOM生成XML文档的一般方法的更多相关文章

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

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

  2. SAX解析和生成XML文档

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

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

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

  4. 使用DOM4J生成XML文档

    package xml; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.List; imp ...

  5. C#XmlHelper帮助类操作Xml文档的通用方法汇总

    前言 该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包括Xml序列化和反序列化,Xml文件读取,Xml文档节点内 ...

  6. 使用JDom解析XML文档模拟Spring的配置文件解析

    在J2EE项目中可能会涉及到一些框架的使用,最近接触到了SSH,拿Spring来说配置文件的使用是相当重要的,Spring的配置文件是一个xml文件,Spring是如何读取到配置文件并进行依赖注入的呢 ...

  7. 在Visual studio 2010中为C#的“///”注释内容生成XML文档 .

    实际上该方法适合于所有版本的Visual studio,方法很简单,设置一下Visual studio的项目属性和工具选项即可. 1.在菜单栏的“Project”中选择当前项目的“*** Proper ...

  8. DOM生成XML文档

    import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuil ...

  9. 使用JDOM解析xml文档

    一.使用JDOOM解析xml文档 准备工作 1.下载JDOM.jar 包 解析代码如下 import org.jdom2.Attribute; import org.jdom2.Document; i ...

随机推荐

  1. 函数防抖与函数节流 封装好的debounce和throttle函数

    /** * 空闲控制 返回函数连续调用时,空闲时间必须大于或等于 wait,func 才会执行 * * @param {function} func 传入函数,最后一个参数是额外增加的this对象,. ...

  2. c语言基本数据类型(short、int、long、char、float、double)

    一 C 语言包含的数据类型 short.int.long.char.float.double 这六个关键字代表C 语言里的六种基本数据类型. 在不同的系统上,这些类型占据的字节长度是不同的: 在32 ...

  3. python之插入排序

    插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的.个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2).是稳定的排序方法.插入算法把要排序的数组分成两部 ...

  4. BZOJ2671 Calc 【莫比乌斯反演】

    题目链接 BZOJ2671 题解 令\(d = (a,b)\),\(a = dx,b = dy\) 那么有 \[ \begin{aligned} d(x + y) | d^2xy \\ (x + y) ...

  5. Java ConcurrentModificationException 异常分析与解决方案

    Java ConcurrentModificationException 异常分析与解决方案http://www.2cto.com/kf/201403/286536.html java.util.Co ...

  6. (转)Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web mod

    背景:在sts中导入web项目,却不能通过sts中的tomcat来加载该服务,并报出如下错误. “Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4 ...

  7. 什么是oauth2

    对于目前大部分Web应用来说,用户认证基本上都由应用自身来完成.具体来说,Web应用利用自身存储的用户凭证(基本上是用户名/密码)与用户提供的凭证进行比较进而确认其真实身份.但是这种由Web应用全权负 ...

  8. 【Asp.net入门11】第一个ASP.NET 应用程序-创建摘要视图

    目前已经完成了应用程序的基本结构单元,受邀者也能够做出回复.这一节将添加一个支持组件,以显示收到的回复摘要,以便用户的朋友了解谁会参加晚会,并做出适当安排.在Solution Explorer中右键单 ...

  9. linux命令总结之ls命令

    ls命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,下面我们就来一起看看ls的用法 英文全名:List即列表的意思,当我们学习某种东西的时候要做到知其所 ...

  10. ThreadLocal的实现

    0.简介:创建线程局部变量的类 使用ThreadLocal创建的变量只能被当前线程访问,其他线程则无法访问和修改. 内部类ThreadLocalMap实现,key是变量,value是所在的线程. 用法 ...