`
chenxu_8456
  • 浏览: 42092 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Java操作XML文件(1)-写入XML文件

 
阅读更多
在Java中写入XML文件操作:
package xml;

import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
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;

public class XMLWriter {
	private String fileName;
	private Document document;

	public XMLWriter(String fileName) throws Exception {
		this.fileName = fileName;
		createXmlDocument();
	}

	private void createXmlDocument() throws Exception {
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
		DocumentBuilder builder = factory.newDocumentBuilder();
		document = builder.newDocument();
	}

	public Element createDocumentElement(String name) {
		Element root = document.createElement(name);
		document.appendChild(root);
		return root;
	}

	public Element createElement(Element parent, String tagName, String text) {
		Element element = document.createElement(tagName);
		if (text != null && text.length() > 0) {
			element.setTextContent(text);
		}
		parent.appendChild(element);
		return element;
	}

	public void toSave() throws Exception {
		TransformerFactory factory = TransformerFactory.newInstance();
		factory.setAttribute("indent-number", new Integer(4));// 设置缩进长度为4
		Transformer transformer = factory.newTransformer();
		transformer.setOutputProperty(OutputKeys.INDENT, "yes");// 设置自动换行
		DOMSource source = new DOMSource(document);
		transformer.transform(source, new StreamResult(new BufferedWriter(
				new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8"))));
	}

	public static void main(String[] args) {
		String fileName = "E:\\test.xml";
		System.out.println(fileName);
		try {
			XMLWriter writer = new XMLWriter(fileName);
			Element root = writer.createDocumentElement("Books");
			Element book = writer.createElement(root, "Book", "");
			writer.createElement(book, "Price", "52.00");
			Element title = writer.createElement(book, "Title", "test xml");
			title.setAttribute("Auth", "yy");
			writer.toSave();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
分享到:
评论
1 楼 zeroman1212 2012-03-05  
感谢楼主,

相关推荐

    java读取和写入xml文件

    在Java中,处理XML文件主要有四种方式:DOM(Document Object Model)、SAX(Simple API for XML)、StAX(Streaming API for XML)以及JAXB(Java Architecture for XML Binding)。下面将详细介绍这四种方法。 1....

    java 操作xml文件(包含xml文件和对应jar包)

    在写入XML时,我们可以创建新的`Element`对象,添加属性和子元素,然后将其插入到XML文档中。使用DOM,我们需要`TransformerFactory`和`Transformer`来转换`Document`并写入文件。对于JDOM,`Document.write`方法...

    Java操作XML文件-dom4j .doc

    Java中的DOM4J库是一个非常流行的处理XML文档的工具,它提供了一套简单易用的API,使得在Java中操作XML文件变得相当便捷。本文主要介绍如何使用DOM4J进行XML文件的操作,包括XML字符串与Document对象之间的转换,...

    JAVA操作XML文件

    XML数据有时会存储在数据库中,这个驱动可能用于读取或写入XML数据。 9. **JasperReport和iReport**: - `jasper-runtime.jar`可能与JasperReports库有关,这是一个用于创建报表的开源工具,能够将XML数据转换为...

    xml-apis-1.4.01.jar.zip

    2. **本地库缺失**:如果没有使用构建工具,而是手动管理库,那么可能需要将`xml-apis-1.4.01.jar`文件复制到项目的类路径(ClassPath)中,通常是`lib`目录下,并确保在运行Java应用时能够找到这个库。 3. **版本...

    java导入导出xml文件

    Source可以是DOM树,Result可以是FileOutputSteam或Writer,用于写入XML数据。 在描述中提到,XML文件的节点是已知的,这意味着在操作时可以预先准备相应的处理逻辑。例如,如果知道每个XML文件包含特定的元素,...

    Java读写xml,word,xml文件(防乱码)

    #### 四、Java写入XML文件 写入XML文件时同样需要注意指定正确的字符编码。这里可以使用`BufferedWriter`配合`OutputStreamWriter`来完成: ```java import java.io.BufferedWriter; import java.io.File; import ...

    Java-XML-programming-examples.rar_java programming

    本压缩包文件“Java-XML-programming-examples.rar”显然提供了关于Java与XML结合使用的实际编程示例,有助于深入理解这一技术。 在Java中,处理XML主要涉及以下几个核心知识点: 1. **DOM解析**:DOM(文档对象...

    xml-apis-2.0.2.jar ecside 依赖包之一

    xml-apis-2.0.2.jar 是一个专门处理XML相关操作的Java库,它是ECIDE(Enterprise Content Interaction Development Environment,企业内容交互开发环境)的依赖包之一。ECIDE可能是一个用于构建企业级应用的集成开发...

    java_xml_pack-summer02_01.zip_XML java_document XML API_java xm

    4. **StAX**:StAX是一种流式解析器,提供了一种读取和写入XML的迭代方式,允许开发者按需处理XML事件。StAX的API包括`javax.xml.stream.XMLInputFactory`和`javax.xml.stream.XMLOutputFactory`,它们分别用于创建...

    java读写xml文件

    本文将详细介绍如何使用Java标准库中的DOM API来读取与写入XML文件。 #### 二、DOM API介绍 DOM(Document Object Model)是W3C推荐的标准,它提供了一种与平台和语言无关的方式访问和更新文档内容、结构和样式的...

    java读写Xml文件(UTF-8) 【一】

    在Java编程中,XML(eXtensible Markup ...总的来说,Java处理XML文件时,需要理解DOM解析的基本原理,正确设置编码,以及熟练运用相关API进行操作。通过这些知识,可以有效地在Java程序中读取、修改和保存XML文件。

    java操作xml文件的一个简单代码

    4. **StAX(Streaming API for XML)**:StAX提供了一种流式处理XML的方式,介于DOM和SAX之间,允许以迭代方式读取或写入XML。`javax.xml.stream.XMLInputFactory`和`javax.xml.stream.XMLOutputFactory`是主要的...

    java实现Xml文件读写

    以下是一个基本的写入XML文件的示例: ```java import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform...

    Java操作xml文件,对xml文件的增、删、改、查,简单的web应用

    而StAX则提供了一个逐个读取或写入XML元素的流式接口,节省内存。 2. **DOM解析XML** - DOM解析器将XML文件解析为一个树形结构,通过`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`等类...

    java读取xml文件生成文件

    Java语言在处理XML文件时,提供了丰富的API和库,使得我们可以轻松地读取、解析、修改和生成XML文档。在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明...

    自己写的java对xml文件操作的类

    而StAX允许程序按需读取或写入XML事件,更加灵活。 在你编写的这个类中,可能包含以下几个核心功能: 1. **XML文件读取**:通常,你可以使用`java.io.File`和`javax.xml.parsers.DocumentBuilderFactory`来打开并...

    java对xml操作的项目案例

    本项目案例“java对xml操作的项目案例”深入探讨了如何使用Java来读取、修改和写入XML文件。下面将详细阐述相关知识点。 一、Java与XML的交互 1. DOM解析器:Document Object Model (DOM) 是一种将整个XML文档加载...

    Java读写xml java 读写xml文件操作, 简单易懂

    写入XML文件的过程则涉及创建`Document`对象,构建DOM树,然后将DOM树序列化为XML文件。`writeXMLFile`方法提供了基本的框架,但代码示例未完全展示。下面详细介绍这一过程: 1. 创建`DocumentBuilderFactory`实例...

Global site tag (gtag.js) - Google Analytics