jaxb 網站
一. xjc使用幫助
1. 通過命令行編譯
命令行程序xjc用於編譯DTD或Schema生成與XML數據結構對應的JavaBeans類。操作方法如下:
xjc [-xmlschema|-dtd] [–d 保存java文件的目錄] [–p java文件所在的包] <編譯文件>
-xmlschema 指定編譯文件的格式爲Schema格式,此參數是默認值,可以不用提供。
如果不提供此參數,編譯文件必須是Schema文件。
-dtd 指定編譯文件的格式爲DTD格式,如果編譯文件是DTD文件則必須提供此參數。
-d 指定了保存java文件的目錄
-p 指定了生成的java文件所在的包
例如編譯當前目錄下的schema.xls文件,java文件保存在src目錄,包名爲generate,其命令如下:
xjc –d src –p generate schema.xsd
如果編譯文件是schema.dtd,則命令如下:
二. 序列化(Marshalling)與反序列化(Unmarshalling)
要想在Java程序中使用JAXB,必須用到以下幾個jar包:
jaxb-api.jar
jaxb-impl.jar
activation.jar
jsr173_1.0_api.jar
以上包均在/JAXB-HOME/lib目錄中可以找到。
【jdk1.7 貌似已經包含了這些包】
JAXB的核心類是JAXBContext類,該類可以根據一個包名或一個類名加載Java Objects。
使用包名加載Java Objects的樣例如:
JAXBContext jc = JAXBContext.newInstance("generate");
其指定的包中必須包含ObjectFactory類,該類由xjc生成,用於生成XML數據所對應的Java Objects。
如果使用類名加載Java Object,例如:
JAXBContext jc = JAXBContext.newInstance(ObjectFactory.class);
其指定的類必須是用於生成Java Objects的工廠類,如ObjectFactory類。