最近对接第三方公司接口,对方调用我们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 lang uage run time class es from XDR, XML, and XSD file s, or from classes in a runtime assembly.
1.下载xsd.exe
(页面最下方)
2.控制台运行如下命令
xsd xxx.xml [/outputdir:directory]
这样对应的xsd文件就生成了
当然以上方法生成的xsd是把xml所有属性都当成string了,所以生成的java bean所有的属性也都是字符串,需要自己适当修改,但总比一个一个敲容易多了,也不容易出错。
Atas ialah kandungan terperinci 详细介绍XML生成Java类代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!