Java中用dom包写xml文件

/*
* 创建日期 2005-4-17
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package example;

/**
* @author johnstom
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.*;

public class writexml {
private Document document;

private String filename;

public writexml(String name) throws ParserConfigurationException {
    filename = name;
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    document = builder.newDocument();
}

public void toWrite(String mytitle, String mycontent, String myprice) {
    Element root = document.createElement("WorkShop");
    document.appendChild(root);

    Element title = document.createElement("Title");
    title.appendChild(document.createTextNode(mytitle));
    root.appendChild(title);

    Element content = document.createElement("Content");
    content.appendChild(document.createTextNode(mycontent));
    root.appendChild(content);

    Element price = document.createElement("Price");
    price.appendChild(document.createTextNode(myprice));
    root.appendChild(price);
}

public void toSave() {
    try {
        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer transformer = tf.newTransformer();
        DOMSource source = new DOMSource(document);
        transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        PrintWriter pw = new PrintWriter(new FileOutputStream(filename));
        StreamResult result = new StreamResult(pw);
        transformer.transform(source, result);
    } catch (TransformerException mye) {
        mye.printStackTrace();
    } catch (IOException exp) {
        exp.printStackTrace();
    }
}

public static void main(String args[]) {
    try {
        writexml myxml = new writexml("f://test.xml");
        myxml.toWrite("中文题目", "中文内容","jiangtao");
        myxml.toSave();
        System.out.print("Your writing is successful.");
    } catch (ParserConfigurationException exp) {
        exp.printStackTrace();
        System.out.print("Your writing is failed.");
    }
}
}
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值