使用jaxb-xjc的xjc和schemagen

jaxb 網站

 
直接下載最新版本
 
XFC的使用來自 
 

一. 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,則命令如下:

xjc –dtd –d src –p generate schema.dtd 
 
-----------------------------------
xsd中有指定namespace時,-p 選擇無效,執行xjc會產生conflict,而中斷。
-----------------------------------
 

二. 序列化(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類。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章