Java学习2:XML文件创建实例
源码
package com.iflytek.xml;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
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 WriteXML {
public static void main(String[] args) {
//创建一个document,通过builder创建
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.newDocument();
//通过document创建节点Element
Element stuEle = doc.createElement(“Student”);
stuEle.setAttribute(“stu”, “S1001”);
//添加子节点name,age
Element nameEle = doc.createElement("Name");
//方式1:创建一个文本节点
// Text txtName = doc.createTextNode(“zhangsan”);
// nameEle.appendChild(txtName);
//方式2:直接添加文字
nameEle.setTextContent(“zhangsan”);
Element ageEle = doc.createElement("Age");
ageEle.setTextContent("20");
stuEle.appendChild(nameEle);
stuEle.appendChild(ageEle);
//将Element对象添加到document中
doc.appendChild(stuEle);
//将document对象保存到硬盘文件xml中
//通过transformer进行转换
TransformerFactory tf = TransformerFactory.newInstance(); //工厂模式
Transformer former = tf.newTransformer();
former.transform(new DOMSource(doc), new StreamResult("stu.xml"));
System.out.println("生产xml成功!");
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行结果
文件最终会生成在项目目录下