漂在爪洼島上

          Java is my life,but not all!
          posts - 3, comments - 6, trackbacks - 0, articles - 9
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          JAVA利用org.w3c.dom.*;生成XML文件

          Posted on 2009-06-19 10:35 周競先 閱讀(9934) 評論(0)  編輯  收藏 所屬分類: J2EExml
          今天寫另外一份XML發現,內容與昨天的不太一樣,故無法用昨天的方法完全實現,注意在添加節點出有所變動,稍作修改后,也實現了.這個主要用于不對稱的節點添加構造,代碼如下:
            1 package com.potevio.telecom.mobilenet;
            2 
            3 //文件類
            4 import java.io.File;
            5 
            6 //文件輸出類
            7 import java.io.FileOutputStream;
            8 
            9 //負責解析的類
           10 import javax.xml.parsers.DocumentBuilder;
           11 import javax.xml.parsers.DocumentBuilderFactory;
           12 //映射類
           13 import javax.xml.transform.Transformer;
           14 import javax.xml.transform.TransformerFactory;
           15 
           16 //xml映射輸入和輸出類
           17 import javax.xml.transform.dom.DOMSource;
           18 import javax.xml.transform.stream.StreamResult;
           19 
           20 //節點類
           21 import org.w3c.dom.Document;
           22 import org.w3c.dom.Element;
           23 
           24 /**
           25  * @description 使用DOM創建簡單的XML
           26  * 
           27  * @author Zhou-Jingxian
           28  * 
           29  * @date Jun 19, 2009
           30  *
           31  */
           32 public class CreateRuleXML {
           33 
           34     public static void main(String[] args) {
           35         
           36         try{
           37             //解析器工廠類
           38             DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
           39             
           40             //解析器
           41             DocumentBuilder builder = factory.newDocumentBuilder();
           42             
           43             //操作的Document對象
           44             Document document = builder.newDocument();
           45             
           46             //設置XML的版本
           47             document.setXmlVersion("1.0");
           48             
           49             //創建根節點
           50             Element root = document.createElement("MobileNet");
           51             
           52             //將根節點添加到Document對象中
           53             document.appendChild(root);
           54             
           55             /**the first page*/
           56             //設置第一個page元素到
           57             Element pageElement = document.createElement("page");
           58             
           59             //設置page節點的name屬性
           60             pageElement.setAttribute("name""list.jsp");
           61             
           62             /**method*/
           63             //設置method節點
           64             Element methodElement = document.createElement("method");
           65             
           66             //給method設置值
           67             methodElement.setTextContent("get");
           68             
           69             //添加method節點到page節點內
           70             pageElement.appendChild(methodElement);
           71             
           72             /**display*/
           73             //設置method節點
           74             Element displayElement = document.createElement("display");
           75             
           76             //給display設置值
           77             displayElement.setTextContent("list");
           78             
           79             //添加display節點到page節點內
           80             pageElement.appendChild(displayElement);
           81             
           82             /**request_param*/
           83             //設置request_param節點
           84             Element request_paramElement = document.createElement("request_param");
           85             
           86             //給request_param設置值
           87             request_paramElement.setTextContent("request_param1|request_param2");
           88             
           89             //添加request_param節點到page節點內
           90             pageElement.appendChild(request_paramElement);
           91             
           92             //將page段加人根節點內
           93             root.appendChild(pageElement);
           94             
           95             
           96             /**the second page*/
           97             //設置第二個page元素到
           98             pageElement = document.createElement("page");
           99             
          100             //設置page節點的name屬性
          101             pageElement.setAttribute("name""content.jsp");
          102             
          103             /**method*/
          104             //設置method節點
          105             methodElement = document.createElement("method");
          106             
          107             //給method設置值
          108             methodElement.setTextContent("post");
          109             
          110             //添加method節點到page節點內
          111             pageElement.appendChild(methodElement);
          112             
          113             /**display*/
          114             //設置method節點
          115             displayElement = document.createElement("display");
          116             
          117             //給display設置值
          118             displayElement.setTextContent("content");
          119             
          120             //添加display節點到page節點內
          121             pageElement.appendChild(displayElement);
          122             
          123             /**url_title*/
          124             //設置url_title節點
          125             Element url_titleElement = document.createElement("url_title");
          126             
          127             //給url_title設置值
          128             url_titleElement.setTextContent("title,publisher,published_calendar");
          129             
          130             //添加url_title節點到page節點內
          131             pageElement.appendChild(url_titleElement);
          132             
          133             //將page段加人根節點內
          134             root.appendChild(pageElement);
          135     
          136             
          137             //開始把Document映射到文件
          138             TransformerFactory transFactory = TransformerFactory.newInstance();
          139             Transformer transFormer = transFactory.newTransformer();
          140             
          141             //設置輸出結果
          142             DOMSource domSource = new DOMSource(document);
          143             
          144             //生成xml文件
          145             File file = new File("MobileNetRule.xml");
          146             
          147             //判斷是否存在,如果不存在,則創建
          148             if(!file.exists()){
          149                 file.createNewFile();
          150             }
          151             
          152             //文件輸出流
          153             FileOutputStream out = new FileOutputStream(file);
          154             
          155             //設置輸入源
          156             StreamResult xmlResult = new StreamResult(out);
          157             
          158             //輸出xml文件
          159             transFormer.transform(domSource, xmlResult);
          160             
          161             //測試文件輸出的路徑
          162             System.out.println(file.getAbsolutePath());
          163             
          164         }catch(Exception e){
          165             e.printStackTrace();
          166             
          167         }finally{
          168             
          169         }
          170     }
          171 
          172 }
          173 

          運行打印的地址:
          D:\MyEclipse 6.0\workspace\WriteAndReadXML\MobileNetRule.xml
          將上面的地址輸入到(IE)地址欄,得到如下截圖:



          Life,simple and happy!

          主站蜘蛛池模板: 呼玛县| 永福县| 日土县| 麻江县| 久治县| 通道| 孝昌县| 塘沽区| 平凉市| 辉县市| 彰化县| 临西县| 吕梁市| 敦化市| 黄石市| 上蔡县| 来宾市| 安岳县| 治县。| 阳新县| 乌兰浩特市| 平武县| 六盘水市| 庄浪县| 内黄县| 昌邑市| 景宁| 新宁县| 南宫市| 秭归县| 清苑县| 阜阳市| 彝良县| 前郭尔| 泗洪县| 瑞金市| 宁津县| 尼玛县| 花莲市| 玉田县| 连南|