花開有時

          花開有時,花落有時,來有時,去有時。不撕扯,只關(guān)切;不紀念,只牽掛;不感動,只明白;不尋找,只記得。
          隨筆 - 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

          主站蜘蛛池模板: 蒙城县| 寿阳县| 固始县| 瓦房店市| 河池市| 景谷| 鱼台县| 阿拉尔市| 旬邑县| 大方县| 佛冈县| 旌德县| 疏附县| 永善县| 海盐县| 收藏| 新郑市| 游戏| 全南县| 高雄县| 石渠县| 青川县| 汉源县| 全南县| 白朗县| 阿鲁科尔沁旗| 铁岭县| 蒙城县| 镇巴县| 博客| 秭归县| 德庆县| 白水县| 治多县| 额敏县| 阿克| 德令哈市| 进贤县| 绥芬河市| 灵寿县| 江川县|