1

给定一个 Dataset XSD 文件,是否可以生成不使用 System.Data 的 java 类?我尝试使用 JAXB 的 XJC 工具运行测试,但它并没有产生任何非常有用的东西。

更新:按照 Fernando 的建议,我也尝试了 XmlBeans,它生成了类似于 XJC 输出的内容——即表的类表示,但没有任何列、约束或行。我可以在外观中添加这些东西,但理想情况下,它们将由使用的任何 XSD 编译器生成。

4

1 回答 1

1

您可以尝试XMLBeans而不是 JAXB API。您可以通过命令行命令或仅使用 ANT 脚本来调用它。我过去了调用 XMLBeans 将 XSD 编译为 jar 文件的 build.xml 文件的一部分。

<taskdef name="xmlbean" classname="org.apache.xmlbeans.impl.tool.XMLBean" classpathref="classpath"/>


<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!--  Crea y compila las clases del modelo                             -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->

<target name="build" description="--> crea las clases a partir del schema">
    <!-- Borra los fuentes del modelo -->
    <delete quiet="true" dir="${build.dir}/src" />

    <mkdir dir="${build.classes}"/>

    <!-- Construye fuentes asociadas y crea las clases -->
    <xmlbean srcgendir="${build.dir}/src" classpathref="classpath" classgendir="${build.classes}">
        <fileset dir="${src.dir}" excludes="**/*.xsd"/>
        <fileset dir="${schemas.dir}" includes="**/*.*"/>
    </xmlbean>

    <javac srcdir="${src.dir}" 
                destdir="${build.classes}" 
                encoding="Windows-1252" 
                debug="${debug}" 
                debuglevel="${debuglevel}" 
                deprecation="${deprecation}" 
                verbose="${verbose}" 
                optimize="${optimize}" 
                source="${source}" 
                target="${target}">
                <classpath refid="classpath" />
    </javac>
</target>
于 2009-01-14T15:36:17.310 回答