灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3512回复:1

Java 写xml文件

楼主#
更多 发布于:2012-12-13 14:41

[java]
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");
   }
}

喜欢0 评分0
闭眼就天黑
精灵王
精灵王
  • 注册日期2012-09-13
  • 发帖数373
  • QQ
  • 火币1904枚
  • 粉丝68
  • 关注9
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 幽默大师奖
  • 新人进步奖
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 金点子奖
  • 特殊贡献奖
  • 宣传大使奖
  • 诚信商户
沙发#
发布于:2013-04-25 15:09
看见呢么多都害怕

名称:IT171中文网 群号:259667665 论坛地址: http://www.it171.com
回复(0) 喜欢(0)     评分
游客

返回顶部