Sun
推出
JAXB
(
Java
TM
Architecture for XML Binding
)已经有一段时间了,目前的版本是
1
。
0
(
Final
)。下面让我来简单介绍一下,什麽是
JAXB
和怎莫使用。
什莫?
你不知道从哪里下载所需文件,不会吧。
老大!当然是
java.sun.com/xml/jaxb
了
<?
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 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)
>
<?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!
这就结束了吗?这莫简单嘛?
没错,就是这莫简单。并且运行效率还是很不错的。