Java 从XML生成源文件

Java 从XML生成源文件,java,xml,maven,schema,Java,Xml,Maven,Schema,我有一个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"> <

我有一个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>
...

帐户API-NG
...
之后有各种块,例如:

<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>

获取给定开发人员/供应商拥有的所有应用程序密钥
给定开发人员/供应商拥有的应用程序密钥列表
如果此操作因任何原因失败,则引发的一般异常。
........
成功状态
........
时间范围
发件人,格式:ISO 8601)
至,格式:ISO 8601
如何使用maven从中生成Java代码?我尝试使用“maven-jaxb2-plugin”,但它无法解析这个结构

请注意

  • 这是一个XML文件,不是xsd
  • 我正在使用Netbeans

  • 要使用XJC从模式文件生成Java代码,请参阅。打开放置xsd文件的文件夹的命令提示符,然后生成只需键入的java代码:

    $ xjc nameOfSchemaFile.xsd
    

    xjc包含在Java SDK中。

    首先,您需要描述xml示例的模式(xsd)。没有这个模式,就不能使用Jaxb。您没有显示的示例的模式
    xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“
    不是xml的架构


    您可以使用免费的在线工具从xml生成模式,但如果不查看自动模式,就不能依赖这些工具。

    您使用的是eclipse吗?maven下载了
    JaxB
    软件包?如果在Eclipse中右键单击
    XSD
    文件,可以自动生成java类?java代码不能从XML生成。生成java模型需要XSD。要从XML生成XSD并从XSD生成java类,我尝试使用xjc,但它无法解析-许多错误,例如
    [ERROR]s4s elt无效:元素“interface”不是架构文档中的有效元素。文件的第3行:/D:/Projects/mavenproject1/src/main/xsd/SportsAPING.xml[ERROR]schema_reference.4:未能读取模式文档'file:/D:/Projects/mavenproject1/src/main/xsd/SportsAPING.xml',因为1)找不到文档;2) 文件无法读取;3) 文档的根元素不是。文件的第3行:/D:/Projects/mavenproject1/src/main/xsd/SportsAPING.xml
    Ah,您说过您有一个以“.xsd”结尾的模式文件。你不能用“.XML”文件。您必须先编写一个模式文件。看看W3学校的教程