XML文件写入之DOM解析操作

DOM写入XML文件步骤如下:

import java.io.File;

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;




public class XMLWriterTest {

	public static void main(String[] args) {
//1.建立DocumentBuilderFactory
		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//2.建立DocumentBuilder
		DocumentBuilder builder=  null;
		try {
			builder= factory.newDocumentBuilder();
		} catch (ParserConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
//3.建立Document接口对象
		Document  doc = null;
		doc=builder.newDocument();
//4.建立各个操作节点
		Element addresslist = doc.createElement("addresslist");
		Element linkman = doc.createElement("linkman");
		Element name = doc.createElement("name");
		Element tel = doc.createElement("tel");
//5.设置节点的文本内容,即为每一个节点创建已给文本节点
		name.appendChild(doc.createTextNode("张大大"));//如果是存在多个name,这个问题如何解决???
		tel.appendChild(doc.createTextNode("09876"));
//6.设置节点的关系(从叶子节点开始设置关系)
		linkman.appendChild(name);
		linkman.appendChild(tel);
		addresslist.appendChild(linkman);
		doc.appendChild(addresslist);//文档上保存节点
//7.输出文档的内容
		/**
		 * TransformerFactory-->Transformer(设置编码,transform转换source->result)
		 * DOMSource source = new DOMSource(doc)  输出文档 
		 * StreamResult result = new StreamResult(new File("d:"+File.separator+"345.xml")) 指定输出位置
		  */
		TransformerFactory  tf  = TransformerFactory.newInstance(); //创建TransformerFactory
		Transformer t = null;
		try {
		 t = tf.newTransformer();//创建Transformer

		} catch (TransformerConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		t.setOutputProperty(OutputKeys.ENCODING,"utf-8");//设置编码
		DOMSource source = new DOMSource(doc); //输出文档
		StreamResult result = new StreamResult(new File("d:"+File.separator+"345.xml"));//指定输出位置
		try {
			t.transform(source,result);//输出
		} catch (TransformerException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇