麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

JAXB的使用方法

2019-11-18 13:20:28
字體:
來源:轉載
供稿:網友

     Sun推出JAXB(javaTM Architecture for xml Binding )已經有很長一段時間了。下面我來簡單介紹一下,什麼是JAXB和怎莫使用。
  JAXB是一套自動映射XML和Java實例的開發接口和工具。
    JAXB使XML更加方便的編譯一個XML SCHEMA到一個或若干個JAVA CLASS。提供了如下功能:
    從XML到JAVA的映射,訪問、更新、驗證JAVA的表現,從JAVA到XML的映射。
    長話短說,開始正題,JAXB的使用,我們只列舉從XML到JAVA的案例:
  什莫? 你不知道從哪里下載所需文件,不會吧。
  老大!當然是java.sun.com/xml/jaxb了
  首先要得到你想要轉換的XML文件,我們DataSource為例,下表列舉了DataSource.xml的內容:
  <?xml version="1.0"?>
  <DataSources>
   <DataSource>
     <name>Oracle</name>
     <driver>oracle.jdbc.driver.OracleDriver</driver>
     <url>jdbc:oracle:thin:@localhost:1521:orcl</url>
     <username>scott</username>
     <passWord>tiger</password>
   </DataSource>
  </DataSources>
  
  
  并且,我們還要有此XML的DTD文件(假如你不知道怎莫從DTD得到XML,或者不知道如何從XML得到DTD,請兩天后再看此文),DataSource.dtd文件如下:
  <?xml version='1.0' encoding="UTF-8"?>
  <!ELEMENT DataSource
   (name,driver,url,username,passWord)
  >
  <!ELEMENT DataSources
   (DataSource)
  >
  <!ELEMENT driver
   (#PCDATA)
  >
  <!ELEMENT name
   (#PCDATA)
  >
  <!ELEMENT password
   (#PCDATA)
  >
  <!ELEMENT url
   (#PCDATA)
  >
  <!ELEMENT username
   (#PCDATA)
  >
  
  
  JAXB的使用還要配合一個轉換規則的XML文件的使用,所以我們再根據我們的需要編寫一個DataSource.xjs文件,如下所示:
  <?xml version="1.0"?>
  <xml-java-binding-schema version="1.0ea">
  <!-- Register a type. This specifies that we want to use this type instead of String
    somwhere in our document. -->
  <element name="DataSources" type="class" root="true" />
  </xml-java-binding-schema>
  
  你覺得很復雜嘛?不要著急,馬上就結束了。
  下一步就是運行如下命令了:
  java -jar %JAXB_HOME%/lib/jaxb-xjc-1.0-ea.jar DataSource.dtd DataSource.xjs -d destination_Directory
  你會看到在你指定的目錄下,生成了我們想要的Java文件,你可以打開看看,到底是什莫東西。
  OK,預備工作這就結束了。
  讓我們來看看如何使用我們生成的Java文件,使用前別忘了編譯他們,這可是最基本的素質,我想不用我提醒了吧。
  下面是一個測試程序的片斷,看看到底靈不靈:
  Datasources socks = new Datasources();
  。。。。
  File socksFile = new File("DataSource.xml");
        InputStream fin = new FileInputStream(socksFile);
        socks = socks.unmarshal(fin);
  List sockList = socks.getDatasource();
  
  好了,sockList就是我們得到的Java的對象了。你可以隨意處置。我們下面把他們打印出來看一看:
  for (Iterator i = sockList.iterator(); i.hasNext();) {
        currentSock = (Datasource)i.next();
  System.out.PRintln(currentSock.getName());
  System.out.println(currentSock.getDriver());
  System.out.println(currentSock.getUrl());
  System.out.println(currentSock.getUsername());
  System.out.println(currentSock.getPassword());
      }
  
  
  OVER!
  這就結束了嗎?這莫簡單嘛?
  沒錯,就是這莫簡單。并且運行效率還是很不錯的

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级片a | 久久99精品久久久久久秒播蜜臀 | 欧美亚洲综合在线 | 亚州精品国产 | 久久久久久久久久久久久久av | 毛片免费观看视频 | 中文字幕在线永久视频 | 免费观看高清视频网站 | 欧美亚洲免费 | 中文字幕在线视频日本 | 亚洲成人免费视频在线 | 草b视频在线观看 | 成年免费观看视频 | 欧美一级片在线 | 久久精品视频一区 | 国产中出视频 | 日本在线播放一区二区三区 | 欧美18videos性处按摩 | 精品久久中文网址 | 视频一区二区不卡 | 精品国产乱码久久久久久久 | 亚洲精品 在线播放 | 久草成人在线观看 | 欧美一级毛片特黄黄 | 在线成人免费观看 | 蜜桃久久一区二区三区 | 曰韩精品 | 狠狠久久伊人中文字幕 | 亚洲精品久久久久久下一站 | 99精品视频久久精品视频 | 欧美不卡视频在线观看 | 一区二区免费 | 亚洲精品成人久久 | 久久精品国产99国产精品澳门 | 免费视频a | 国产羞羞视频在线观看免费应用 | 美女一级毛片 | 在线观看免费毛片视频 | 成熟女人特级毛片www免费 | 99ri在线| 成人免费乱码大片a毛片视频网站 |