eclipse根据XSD文件生成JAVA文件

转自:http://www.cnblogs.com/yjmyzz/p/3532334.html

JAXB(Java Architecture for XML Binding)是JDK的一部分,用于Object <-> XML的转换(有点类似于.NET中的XML序列化)。

1、创建XSD

可以使用任何工具生成XSD工具,比如XMLSPY。eclipse也提供了相关的jaxb插件,File -> New -> XML Schema File

eclipse根据XSD文件生成JAVA文件

文件命名为order.xsd,eclipse中也提供了xsd可视化编辑工具

eclipse根据XSD文件生成JAVA文件

当然,你要是很NB,对xsd结构倒背如流的话,完全也可以纯手写。

eclipse根据XSD文件生成JAVA文件 Order.xsd

上面是Order.xsd的内容

2、根据XSD生成示例Xml

在XSD文件上右击 -> Generate -> XmlFile

eclipse根据XSD文件生成JAVA文件

会弹出一个框:

eclipse根据XSD文件生成JAVA文件

Prefix这里,如果不需要,可以参考上图自行清空,如果一些可选节点也需要生成示例数据,上图中的Create optional attributes、Create optional elements这二项也勾选上。

生成的order.xml内容如下:

eclipse根据XSD文件生成JAVA文件 Order.xml

3、根据xsd生成java类

同样在xsd上右击 -> Generate -> JAXB Classes... 剩下的事情,大家都知道了

eclipse根据XSD文件生成JAVA文件 order.java

上面是根据刚才的order.xsd生成的order类,package名称是model(当然生成java class的时候,你可以根据实际情况,设成任何自己需要的package名)

同时还会生成一个ObjectFactory类:

eclipse根据XSD文件生成JAVA文件 ObjectFactory.java

4、Object <-> XML 的示例代码

eclipse根据XSD文件生成JAVA文件 object xml

示例源代码下载:jaxb-helloworld.zip (注:这是一个maven工程,命令行下直接mvn clean test,就可以测试)