XML生成Java类代码

最近对接第三方公司接口,对方调用我们http接口是在request的body里传的整个的xml字符串,xml的定义是第三方公司定义的。我接到字符串后要对xml内容解析,解析出自己要的业务数据。之前xml和bean之间的转换都是用JAXB,先定义java bean,然后加上xml注解,然后用JAXB把java对象转为xml,或者把xml转为java对象。

现在的问题是没有这个java bean类,需要先定义一个java bean。可是xml内容太多,而且不是一个xml,有很多种,一个一个的敲太费劲了,网上查了一番,解决问题。

JAXB根据xml的xsd文件生成java bean的代码

1.下载JAXB包

   jaxb-2_1_9.zip(页面最下方)

2.解压命令行下进入bin目录

3.运行:xjc -d %output_path% -p com.xxx.xxx.bean    xxx.xsd

-d:java代码存放路径

-p:bean包结构

使用xsd.exe生成xml文件对应的xsd文件

JAXB生成java代码的入参是xsd文件,不是xml文件,所以要先生成xsd文件。

xsd.exe是微软.net的一个工具,借来用了,但后续是为我的java服务的吐舌头哈哈。

The XML Schema Definition (Xsd.exe) tool generates XML schema or common language runtime classes from XDR, XML, and XSD files, or from classes in a runtime assembly.

1.下载xsd.exe

(页面最下方)

2.控制台运行如下命令

   xsd xxx.xml [/outputdir:directory]

这样对应的xsd文件就生成了

当然以上方法生成的xsd是把xml所有属性都当成string了,所以生成的java bean所有的属性也都是字符串,需要自己适当修改,但总比一个一个敲容易多了,也不容易出错。

猜你喜欢

转载自danding.iteye.com/blog/2364098