`
坏我一锅粥
  • 浏览: 61389 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JDOM写入XML文件

    博客分类:
  • Xml
阅读更多
package com.gyj.jdom;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;


/**
 * 写入DOM到XML文件
 * @author GYJ
 * @date 2014-3-23
 */
public class XMLWriterDOM {

	/**
	 * 将会写入这么一份文件
	 * <p>1、根元素为"Employees" , 命名空间为"http://www.miamiheat.com"
	 * 2、创建两份员工,都有id属性
	 * 3、内容都有姓名、年龄、角色
	 * 4、写出数据到文件、打印到控制台
	 * @param args
	 * @throws TransformerException 
	 */
	public static void main(String[] args) throws TransformerException {
		DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
		DocumentBuilder dBuilder;
		try {
			dBuilder = dbFactory.newDocumentBuilder();
			Document doc = dBuilder.newDocument();
			//添加根元素
			Element rootElement = doc.createElementNS("http://www.miamiheat.com", "Employees");
			doc.appendChild(rootElement);
			//添加子元素到根目录下
			rootElement.appendChild(getEmployee(doc, "1", "gyj", "18"));
			rootElement.appendChild(getEmployee(doc, "2", "james", "29"));
			//把创建好的文件输出
			TransformerFactory transformerFactory = TransformerFactory.newInstance();
			Transformer transformer = transformerFactory.newTransformer();
			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
			DOMSource domSource = new DOMSource(doc);
		
			//控制台输出
			StreamResult console = new StreamResult(System.out);
			//输出到文件
			StreamResult file = new StreamResult("emp.xml");
			//写数据
			transformer.transform(domSource, console);
			transformer.transform(domSource, file);
		} catch (ParserConfigurationException e) {
			e.printStackTrace();
		}
		
		//out put==============================================
		/*<?xml version="1.0" encoding="UTF-8" standalone="no"?>
		<Employees xmlns="http://www.miamiheat.com">
		<employee id="1">
		<name>gyj</name>
		<age>18</age>
		</employee>
		<employee id="2">
		<name>james</name>
		<age>29</age>
		</employee>
		</Employees>*/
		//======================================================
		//生成了emp.xml
		/*<?xml version="1.0" encoding="UTF-8" standalone="no"?>
		<Employees xmlns="http://www.miamiheat.com">
		<employee id="1">
		<name>gyj</name>
		<age>18</age>
		</employee>
		<employee id="2">
		<name>james</name>
		<age>29</age>
		</employee>
		</Employees>*/
		

		
	}
	
	private static Node getEmployee(Document doc, String id, String name, String age) {
		//创建子节点
		Element employee = doc.createElement("employee");
		employee.setAttribute("id", id);
		//创建字节点的元素
		employee.appendChild(getEmployeeElements(doc, employee, "name", name));
		employee.appendChild(getEmployeeElements(doc, employee, "age", age));
		return employee;
	}
	
	/**
	 * 创建子元素节点
	 * @param doc	文档对象
	 * @param element	子元素的tag
	 * @param name		子元素节点
	 * @param value		子元素节点值
	 * @return
	 */
	private static Node getEmployeeElements(Document doc, Element element, String name, String value) {
		Element node = doc.createElement(name);
		node.appendChild(doc.createTextNode(value));
		return node;
	}
	

}


0
0
分享到:
评论

相关推荐

    jdom解析xml文件

    **JDOM解析XML文件** XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。在Java中,JDOM(Java Document Object Model)是一个流行的选择来解析和操作...

    java利用jdom读取xml文件

    JDOM对于中小规模的XML文件和简单的读写操作是非常合适的,但对于大规模或频繁的读写操作,可能需要考虑更高效的解决方案。总之,理解XML和掌握至少一种XML处理库是每个Java开发者必备的技能之一。

    JDom 读写XML

    标题“JDom 读写XML”指的是使用JDom库进行XML文档的处理,包括读取和写入操作。JDom是一个Java API,它为XML文档提供了全面且高性能的处理能力,使得开发者能够方便地构建、修改和访问XML数据。 **JDom详解** 1. ...

    java jdom解析xml

    - **写入XML**:如果需要将内存中的JDOM结构写回XML文件,可以使用`TransformerFactory`和`Transformer`进行转换。 4. **常用操作** - **添加元素**:使用`Element`的`createElement()`创建新元素,然后通过`...

    JDOM解析xml文档实例(自己编写,仅供参考)

    在这个例子中,我们将学习如何读取XML文件,创建一个`SAXBuilder`对象来构建XML文档的DOM(文档对象模型)表示,然后通过`Document`对象来访问和修改XML结构。 2. `sohuchannel.xml`:这是我们要解析的XML文件,可能...

    jdom读写xml说明

    本篇文章将详细探讨JDOM在读写XML操作中的应用。 ### 1. JDOM简介 JDOM是一个针对Java的DOM(Document Object Model)实现,旨在为Java开发者提供一个高效且灵活的方式来处理XML文档。它提供了直接在内存中构建和...

    JDOM读取XML,并且创建XML

    在IT行业中,XML(eXtensible Markup Language)是一种被广泛...无论是解析现有的XML文件还是构建新的XML文档,JDOM都能提供必要的支持。通过深入学习和实践,开发者可以充分利用JDOM的功能,提升XML处理的效率和质量。

    jdom处理xml例子

    2. 使用`build()`方法加载XML文件,返回`Document`对象。 3. 通过`Document`对象访问元素、属性和文本。 **修改XML文档** JDOM允许直接在内存中修改XML文档: 1. 获取要修改的元素或属性。 2. 修改元素的文本、...

    jdom1.1.3xml解析工具类

    org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom.input包含了读取xml文档的类 org.jdom.output包含了写入xml文档的类 org.jdom.transform包含了将jdomxml 文档接口转换...

    jdom 读取修改xml文件

    ### JDOM 读取与修改 XML 文件 #### JDOM 简介 JDOM(Java Document Object Model)是一个用于处理 XML 数据的 Java 库。它提供了面向对象的 API 来解析、创建和修改 XML 文档。JDOM 的设计非常直观且易于使用,...

    jdom 操作xml文档

    然而,需要注意的是,JDOM虽然简单易用,但在处理大型XML文件时可能会消耗大量内存。对于性能要求较高的场景,可以考虑使用SAX(Simple API for XML)或StaX(Streaming API for XML)等其他解析器。同时,确保正确...

    Jdom解析XML

    2. 使用`SAXBuilder`的`build`方法读取XML文件,生成`Document`对象。 3. 通过`Document`对象访问XML结构,如获取根元素、遍历子元素等。 **创建XML文档** 创建XML文档主要涉及以下操作: 1. 创建`Element`对象,...

    Dom JDom 解析xml 文件

    XML(eXtensible Markup...总之,DOM和JDOM是Java中解析XML的重要工具,它们提供了灵活的方式来读取、修改和写入XML文件。根据项目需求和性能考虑,选择合适的方法并熟练掌握其用法,能极大地提升XML处理的效率和质量。

    Jdom解析xml案例

    3. **读取XML文件**: 使用Builder的`build`方法解析XML文件,得到`Document`对象。 ```java File inputFile = new File("path_to_your_xml_file.xml"); Document document = builder.build(inputFile); ``` 4. ...

    jdom-1.1.zip jdom-1.1.jar jdom.jar jdom库 jdom操作xml

    通过这些类,你可以创建新的XML文档,或者读取并修改已有的XML文件。 创建XML文档的基本步骤如下: 1. 创建`DocumentBuilderFactory`,然后通过它获取`DocumentBuilder`。 2. 使用`DocumentBuilder`创建一个空的`...

    Jdom解析xml文件

    总的来说,JDOM是Java开发者处理XML文件的一种强大工具,尤其适合需要频繁读写和操作XML文档的场景。通过JDOM,开发者可以方便地创建、解析和修改XML文档,提高开发效率。在实际项目中,可以根据需求和性能考虑选择...

    JDOM解析XML

    2. 使用`SAXBuilder`的`build()`方法读取XML文件并构建`Document`对象。 3. `Document`对象代表了整个XML文档,你可以通过其根元素`getRootElement()`访问XML的顶层元素。 4. 通过遍历元素、属性和文本节点,可以...

    JDOM操作XML文件.doc

    下面是一个简单的 JDOM 使用示例,演示如何读写 XML 文件。在这个例子中,我们有一个名为 `MyXml.xml` 的 XML 文件,包含两个书籍条目,每个条目有书名、作者、出版社、价格和出版日期等信息。为了操作这个 XML 文件...

    DOM、SAX、JDOM、DOM4J读写xml文档

    2. **JDOM写入XML**:构建JDOM的`Document`对象,然后用`org.jdom2.output.Format`和`XMLOutputter`将`Document`转换成XML字符串或写入文件。 **DOM4J** DOM4J是另一个流行的Java XML库,它提供了DOM、SAX和JDOM的...

Global site tag (gtag.js) - Google Analytics