加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML文件写入之DOM解析操作

发布时间:2020-12-16 08:54:32 所属栏目:百科 来源:网络整理
导读: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.

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();
		}
	}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读