在 Java 编组和解组中可以创建多少 XML 树(父子)

How many XML tree(parent children) can create in Java Marshalling and Unmarshalling

我想使用 java 编组和解组创建一个 XML 文件。如何开发 Java class 获得以下类型 XML.

<?xml version="1.0" encoding="UTF-8"?> 
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://www.w3.org/2001/vxml 
 http://www.w3.org/TR/voicexml20/vxml.xsd">
  <form>
    <grammar src="cityandstate.grxml" type="application/srgs+xml"/>
    <block>
      <prompt bargein="false">
        <audio src="http://localhost.com/obl.wav"/>
      </prompt>
    </block>
  </from>
</vxml>

我想在使用 Hibernate、Spring 和 Maven 的 Jax-Rs Web 服务中得到这样的 XML。 class 想 运行 通过 Jax-Rx 网络服务。

由于您有可用的 XSD,您可以使用 JAXB2 Maven Plugin 为您生成合适的类型。

您可以通过将以下内容添加到您的 pom.xml:

<project ...>
...
<build>
    <plugins>
        <plugin>
            <groupId>org.jvnet.jaxb2.maven2</groupId>
            <artifactId>maven-jaxb2-plugin</artifactId>
            <version>0.12.3</version>
            <executions>
                <execution>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
...

它将尝试在 src/main/resources 中找到您的 XSD 文件和可选的绑定配置。如果您的 XSD 引用其他 XSD 文件(如问题所示),这些引用的文件也需要存在于同一目录中。