我有这样的XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<interface name="AccountAPING" owner="BDP" version="1.0.0" date="now()" namespace="com.betfair.account.api"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<description>Account API-NG</description>
...
之后会有各种块,例如:
<operation name="getDeveloperAppKeys" since="1.0.0">
<description>
Get all application keys owned by the given developer/vendor
</description>
<parameters>
<request/>
<simpleResponse type="list(DeveloperApp)">
<description>
A list of application keys owned by the given developer/vendor
</description>
</simpleResponse>
<exceptions>
<exception type="AccountAPINGException">
<description>Generic exception that is thrown if this operation fails for any reason.</description>
</exception>
</exceptions>
</parameters>
</operation>
........
<simpleType name="Status" type="string">
<validValues>
<value name="SUCCESS">
<description>Sucess status</description>
</value>
</validValues>
</simpleType>
........
<dataType name="TimeRange">
<description>TimeRange</description>
<parameter name="from" type="dateTime" mandatory="false">
<description>from, format: ISO 8601)</description>
</parameter>
<parameter name="to" type="dateTime" mandatory="false">
<description>to, format: ISO 8601</description>
</parameter>
</dataType>
如何使用maven从中生成Java代码?我尝试使用&#34; maven-jaxb2-plugin&#34;,但它无法解析这个结构。
请注意
答案 0 :(得分:1)
要使用XJC从模式文件生成Java代码,请参阅here。打开命令提示符到您放置xsd文件的文件夹,然后生成您只需输入的java代码:
$ xjc nameOfSchemaFile.xsd
xjc包含在Java SDK中。
答案 1 :(得分:1)
首先,您需要描述xml示例的架构(xsd)。如果没有该架构,则无法使用Jaxb。您没有显示示例的示例xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
不是xml的架构。
您可以使用免费的在线工具从xml生成架构,但如果不审查自动架构,则无法依赖此工具。