JAXB安装与编译器使用
JAXB?(Java?Architecture?for?XML?Binding)?的主要功能是根据DTD或者XML?Schema将XML?Element转化为Java类。将XML文本流转化为Java?Object,把XML?Processing转化为对类的一些属性的访问。简单的来说,它可以让你轻松解析和验证XML内容而不用去写那些繁琐的XML解析代码。
?
JAXB?包含两个部分:
1,?第一部分:JAXB包含一个编译器,它读入DTD或者XML?Schema,然后生成相等结构的Java?Object?Model.?这些生成的object?model?比DOM或SAX这些general的API更有针对性,更好的反映了Schema原本的结构。这样,使对XML内容的操作变得更为简单。
2,?第二部分:是操作JAXB时的API,你通过这个API来和生成的代码交互。这个API隐藏了JAXB内部操作的实现代码并且提供了统一的基本操作(如?marshalling?,unmarshalling)。
marshalling?:?是将一个Java?Object转化成XML?text的过程。
unmarshalling?:?是将XML?text转化成相应的Java?Object的过程。
?
更多参见:http://www.oracle.com/technetwork/articles/javase/index-140168.html
?
?
?
参考:http://franktiger.iteye.com/blog/998840
?
首先从sun下载一个jaxb的压缩包,在命令行模式下,将目录转到JAXB2_20110601.jar,用命令java?-jar?JAXB2_20110601.jar?
这样,在该目录下会生成一个文件夹jaxb-ri-20110601,文件夹中有bin,docs,lib,samples在命令行中进入到安装目录的bin文件夹下运行xjc指令,如果不出现“xjc”is?not?recogized。。。证明安装成功?
使用xsd文件生成java类的方法?
在命令行中进入文件夹jaxb-ri-20110601目录的bin文件夹?
输入命令?
xjc?-d?c:\test?-p?com.primeton.governor.dict.xmlloader?c:\test\test.xsd?
生成包放在c:\test中
com.primeton.governor.dict.xmlloader生成java类的包路径?
c:\test\test.xsd??xsd文件的路径
?
当xsd文件是多个时,而且分配在不同的目录下时,使用xjc命令生成bean文件时那个xsd文件路径的参数可以填写文件目录即可自动搜索所有xsd文件。
?
示例xsd文件:
?
??
将xml文件转换为xsd文件?
首先从sun下载一个trang的压缩包,解压缩后会有一个trang.jar的文件?
在命令行中进入trang.jar所在的目录,输入如下命令:?
java?-jar?trang.jar?XXX1.xml?XXX2.xsd?
XXX1.xml为当前文件夹目录下的xml文件,也是要转换的xml文件?
XXX2.xsd文件为转换后的xsd文件??注意:一般情况下,只经过这个步骤转化过来的文件还不能直接使用,需要对其中的数据类型等做调整。
?
示例xml文件:
?
?