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()); }