<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 周競先 閱讀(1584) 評論(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!

    主站蜘蛛池模板: 国产一级高清视频免费看| 114级毛片免费观看| 国产精品成人免费视频网站京东 | 亚洲国产91在线| 亚洲网站在线免费观看| 亚洲综合日韩中文字幕v在线| CAOPORN国产精品免费视频| 婷婷综合缴情亚洲狠狠尤物| 国产一区二区三区亚洲综合 | 国产特级淫片免费看| 亚洲人成网站免费播放| 成人看的午夜免费毛片| 男人天堂2018亚洲男人天堂| 美女被免费视频网站a国产 | 99re这里有免费视频精品| 亚洲日韩区在线电影| 精品熟女少妇av免费久久| 免费v片在线观看视频网站| 亚洲理论片在线观看| 久久久久久亚洲精品无码| 日韩精品视频免费在线观看| 亚洲AV无码久久精品蜜桃| 四虎影视在线影院在线观看免费视频 | 亚洲AV无码专区在线电影成人| 免费看a级黄色片| 十八禁的黄污污免费网站| 久久久久亚洲av成人无码电影| 色www永久免费| 亚洲久本草在线中文字幕| 无码乱肉视频免费大全合集| 亚洲人AV在线无码影院观看| 亚洲精品国产日韩无码AV永久免费网| XXX2高清在线观看免费视频| 亚洲欧洲在线播放| 最好免费观看韩国+日本| 国产精品免费大片一区二区| 久久青青草原亚洲av无码app| 成人a免费α片在线视频网站| 久久亚洲中文字幕精品有坂深雪 | 18禁超污无遮挡无码免费网站国产 | 暖暖日本免费在线视频|