Java 写xml资料

Java 写xml文件
package com.biztool;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;


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




public class WriteXml {
	private void writeXMLFile(String xmlfile) {
		File file = new File("E:/tryfile/xml");
		file.listFiles();
		if(!file.exists()) {
			
			file.mkdirs();
		}
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
		DocumentBuilder dbuilder = null;
		try {
			dbuilder = dbf.newDocumentBuilder();
		}catch(Exception ex) {
			ex.printStackTrace();
		}
		
		Document doc = dbuilder.newDocument();
		
		Element root = doc.createElement("学生花名册");
		doc.appendChild(root);
		
		Element stu = doc.createElement("学生");
		stu.setAttribute("性别","男");
		root.appendChild(stu);
		
		Element stu_name = doc.createElement("姓名");
		stu.appendChild(stu_name);
		Text name_text = doc.createTextNode("罗文雯");
		stu_name.appendChild(name_text);
		
		Element stu_age = doc.createElement("年龄");
		stu.appendChild(stu_age);
		Text age_text = doc.createTextNode("25");
		stu_age.appendChild(age_text);
		try {
			FileOutputStream fos = new FileOutputStream(xmlfile+"/test.xml");
			OutputStreamWriter osw = new OutputStreamWriter(fos);
			callDomWriter(doc, osw, "UTF-8");
			osw.close();
			fos.close();
		}catch(Exception ex) {
			ex.printStackTrace();
		}
		
		
	}
	
	public void callDomWriter(Document dom , Writer writer, String encoding) {
		try {
			
			Source source = new DOMSource(dom);
			Result res = new StreamResult(writer);
			Transformer xformer = TransformerFactory.newInstance().newTransformer();
			xformer.setOutputProperty(OutputKeys.ENCODING, encoding);
			xformer.transform(source, res);
		}catch (TransformerConfigurationException e) {
			   e.printStackTrace();
		  } catch (TransformerException e) {
		   e.printStackTrace();
		  }
		
	}
	
	public static void main(String []args) {
		WriteXml writeins = new WriteXml();
		String outfile = "E:/tryfile/xml";
		writeins.writeXMLFile(outfile);
		System.out.println("finished");
	}
}