<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    漂在爪洼島上

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

    java構造XML文檔(有規律的節點)

    Posted on 2009-06-19 09:10 周競先 閱讀(1579) 評論(0)  編輯  收藏 所屬分類: J2EExml

    很久沒用xml了,最近項目應該會用到,故昨晚回家寫了個測試程序,代碼如下:

      1 package com.potevio.telecom;
      2 
      3 //文件類
      4 import java.io.File;
      5 import java.io.FileNotFoundException;
      6 
      7 //文件輸出類
      8 import java.io.FileOutputStream;
      9 import java.io.IOException;
     10 
     11 //負責解析的類
     12 import javax.xml.parsers.DocumentBuilder;
     13 import javax.xml.parsers.DocumentBuilderFactory;
     14 import javax.xml.parsers.ParserConfigurationException;
     15 
     16 //映射類
     17 import javax.xml.transform.Transformer;
     18 import javax.xml.transform.TransformerConfigurationException;
     19 import javax.xml.transform.TransformerException;
     20 import javax.xml.transform.TransformerFactory;
     21 
     22 //xml映射輸入和輸出類
     23 import javax.xml.transform.dom.DOMSource;
     24 import javax.xml.transform.stream.StreamResult;
     25 
     26 //節點類
     27 import org.w3c.dom.Comment;
     28 import org.w3c.dom.Document;
     29 import org.w3c.dom.Element;
     30 import org.w3c.dom.Node;
     31 import org.w3c.dom.NodeList;
     32 
     33 /**
     34  * @description 構造一個北京到長沙的簡單列車時刻表.用DOM的方式實現.
     35  * 
     36  * @author Zhou-Jingxian
     37  * 
     38  * @date Jun 18, 2009
     39  *
     40  */
     41 public class CreateXMLContent {
     42     
     43     public static void main(String args[]){
     44         
     45         try {
     46             //構造的原始數據對象
     47             String train[] = {"T1次","K185次","Z17次"};
     48             String type[] = {"特快","普快","直達"};
     49             String startTime[] = {"15:45","11:47","18:10"};
     50             
     51             //解析器工廠類
     52             DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
     53             
     54             //解析器
     55             DocumentBuilder builder = factory.newDocumentBuilder();
     56             
     57             //操作的Document對象
     58             Document document = builder.newDocument();
     59             
     60             //設置XML的版本
     61             document.setXmlVersion("1.0");
     62             
     63             //添加注釋
     64             Comment xmlComment = document.createComment("本文檔中內容主要用于測試!");
     65             
     66             //將注釋添加到xml中
     67             document.appendChild(xmlComment);
     68             
     69             //設置根節點名稱
     70             Element traintimelist = document.createElement("火車時刻表");
     71             
     72             //把節點添加到根節點
     73             document.appendChild(traintimelist);
     74             
     75             for(int k = 1; k <=train.length; k++){
     76                 traintimelist.appendChild(document.createElement("車次"));
     77             }
     78             
     79             NodeList nodeList = document.getElementsByTagName("車次");
     80             int size = nodeList.getLength();
     81             for(int k = 0; k<size; k++){
     82                 Node node = nodeList.item(k);
     83                 if(node.getNodeType() == Node.ELEMENT_NODE){
     84                     Element elementNode = (Element)node;
     85                     elementNode.setAttribute("類別", type[k]);
     86                     elementNode.appendChild(document.createElement("名字"));
     87                     elementNode.appendChild(document.createElement("開車時間"));
     88                     
     89                 }
     90             }
     91             
     92             nodeList = document.getElementsByTagName("名字");
     93             size = nodeList.getLength();
     94             for(int k = 0; k<size; k++){
     95                 Node node = nodeList.item(k);
     96                 if(node.getNodeType() == Node.ELEMENT_NODE){
     97                     Element elementNode = (Element)node;
     98                     elementNode.appendChild(document.createTextNode(train[k]));
     99                     
    100                 }
    101             }
    102             
    103             nodeList = document.getElementsByTagName("開車時間");
    104             size = nodeList.getLength();
    105             for(int k = 0; k<size; k++){
    106                 Node node = nodeList.item(k);
    107                 if(node.getNodeType() == Node.ELEMENT_NODE){
    108                     Element elementNode = (Element)node;
    109                     elementNode.appendChild(document.createTextNode(startTime[k]));
    110                     
    111                 }
    112             }
    113             
    114             //開始把Document映射到文件
    115             TransformerFactory transFactory = TransformerFactory.newInstance();
    116             Transformer transformer = transFactory.newTransformer();
    117             
    118             //設置輸出結果
    119             DOMSource domSource = new DOMSource(document);
    120             
    121             //生成xml文件
    122             File file = new File("北京到長沙火車時刻表.xml");
    123             
    124             //判斷是否存在,如果不存在,則創建
    125             if(!file.exists()){
    126                 file.createNewFile();
    127             }
    128             
    129             //文件輸出流
    130             FileOutputStream out = new FileOutputStream(file);
    131             
    132             //設置輸入源
    133             StreamResult xmlResult = new StreamResult(out);
    134             
    135             //輸出xml文件
    136             transformer.transform(domSource, xmlResult);
    137             
    138             //測試文件輸出的路徑
    139             System.out.println(file.getAbsolutePath());
    140             
    141         } catch (ParserConfigurationException e) {
    142             
    143             e.printStackTrace();
    144         } catch (TransformerConfigurationException e) {
    145             
    146             e.printStackTrace();
    147         } catch (FileNotFoundException e) {
    148             
    149             e.printStackTrace();
    150         } catch (TransformerException e) {
    151             
    152             e.printStackTrace();
    153         } catch (IOException e) {
    154             
    155             e.printStackTrace();
    156             
    157         }finally{
    158             
    159         }
    160         
    161     }
    162 }
    163 

    運行的打印地址:
    D:\MyEclipse 6.0\workspace\WriteAndReadXML\北京到長沙火車時刻表.xml
    將上面的地址放到(IE)地址欄顯示的效果圖下:
    xml在IE效果圖

    Life,simple and happy!

    主站蜘蛛池模板: 最近免费mv在线电影| 亚洲日韩精品一区二区三区| 国产线视频精品免费观看视频| 久久亚洲最大成人网4438| 亚洲av永久无码精品表情包| 波多野结衣免费视频观看| 毛片a级毛片免费播放下载| 9277手机在线视频观看免费| eeuss免费影院| 美女扒开屁股让男人桶爽免费| 亚洲男人的天堂久久精品| 亚洲成a人不卡在线观看| 久久亚洲AV午夜福利精品一区| 亚洲综合色成在线播放| 亚洲&#228;v永久无码精品天堂久久 | 亚洲AV无码一区二区三区性色| 亚洲神级电影国语版| 婷婷久久久亚洲欧洲日产国码AV| 亚洲精品无码久久不卡| 亚洲av无码国产精品色在线看不卡| 免费毛片在线看片免费丝瓜视频 | 亚洲综合一区二区精品导航| 亚洲色婷婷综合久久| 亚洲精品成人区在线观看| 免费看国产精品麻豆| 免费网站看v片在线香蕉| 我要看WWW免费看插插视频| 91在线视频免费91| 成年轻人网站色免费看| 免费在线观看的网站| 西西大胆无码视频免费| 成人免费男女视频网站慢动作| 99视频在线精品免费观看6| 成人免费无码视频在线网站| 四虎www成人影院免费观看| 在线A级毛片无码免费真人| 免费理论片51人人看电影| 国产极品美女高潮抽搐免费网站| 免费看www视频| 亚洲av无码乱码在线观看野外| 亚洲A丁香五香天堂网|