花開有時

          花開有時,花落有時,來有時,去有時。不撕扯,只關(guān)切;不紀(jì)念,只牽掛;不感動,只明白;不尋找,只記得。
          隨筆 - 24, 文章 - 0, 評論 - 54, 引用 - 0
          數(shù)據(jù)加載中……

          Ok!用DOM寫XML文件!

           

          昨天在網(wǎng)上找了找,終于發(fā)現(xiàn)了我要的東西,哈哈,網(wǎng)絡(luò)真是個好東西。

          下面是代碼:

          package test;

          /*

           * 創(chuàng)建日期 2005-4-17

           *

           * TODO 要更改此生成的文件的模板,請轉(zhuǎn)至

           * 窗口 首選項 Java 代碼樣式 代碼模板

           */

          /**

           * @author johnstom

           *

           * TODO 要更改此生成的類型注釋的模板,請轉(zhuǎn)至 窗口 首選項 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("中文題目", "中文內(nèi)容呵呵", "jiangtao");

                               myxml.toSave();

                               System.out.print("Your writing is successful.");

                        } catch (ParserConfigurationException exp) {

                               exp.printStackTrace();

                               System.out.print("Your writing is failed.");

                        }

                 }

          }

          基本能滿足我的小小要求,關(guān)鍵代碼段是:

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

                        }

                 }

          Ok,在此謝謝作者johnstom了。

          轉(zhuǎn)載網(wǎng)址:http://blog.csdn.net/yzj_000/archive/2007/03/22/1537679.aspx

          posted on 2007-09-25 10:11 花開有時 閱讀(1417) 評論(0)  編輯  收藏 所屬分類: java

          主站蜘蛛池模板: 凌源市| 平安县| 额济纳旗| 合江县| 佛山市| 吉木萨尔县| 大石桥市| 安丘市| 周宁县| 公主岭市| 盱眙县| 吕梁市| 武川县| 黄陵县| 博爱县| 东宁县| 中西区| 新干县| 呼和浩特市| 莒南县| 玉树县| 深圳市| 新乐市| 邵阳市| 清水县| 徐州市| 怀远县| 武功县| 新营市| 丽水市| 甘南县| 天台县| 新河县| 嘉定区| 灵石县| 侯马市| 什邡市| 隆回县| 灵丘县| 彰化县| 射洪县|