有没有办法从MS-Dataset XSD文件生成Java类?

问题描述:

给定一个Dataset XSD文件,是否可以生成不使用System.Data的Java类? 我试过使用JAXB的XJC工具来运行测试,但它不会产生任何非常有用的东西。有没有办法从MS-Dataset XSD文件生成Java类?

更新:我也尝试过XmlBeans,遵循Fernando的建议,它生成类似于XJC输出的东西 - 也就是表的类表示,但没有任何列,约束或行。我可以将这些东西添加到外观中,但理想情况下,它们将由使用的任何XSD编译器生成。

您可以尝试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> 
+0

XMLBeans的SCOMP编译器(这是你的意思?)生成从MS-数据集XSD合理的代码,但它失去对列,约束,等我从XJC类似结果的所有信息。 – Andy 2009-01-15 10:27:56