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类。