【问题标题】:Generate XSD from XML programmatically in Java在 Java 中以编程方式从 XML 生成 XSD
【发布时间】:2014-12-05 10:42:33
【问题描述】:

我正在寻找一个轻量级库,它允许我从 Java 中的 XML 生成 XSD(无命令行工具)。我知道这不是一种干净的生成方式,但在这种情况下,我需要这样做。此外,XML 在结构方面非常简单。

我已经查看了 Trang,但是除了如何从命令行调用它之外,没有 API 文档。

我还检查了 xsd-gen,但该库的问题是需要修改源代码中的一些我找不到的包声明。

还有其他建议吗?

【问题讨论】:

    标签: java xml xsd


    【解决方案1】:

    我是工具xsd-gen的作者。我也将该工具转换为库,并将工件上传到 Maven Central:

    <dependency>
        <groupId>org.wiztools</groupId>
        <artifactId>xsd-gen</artifactId>
        <version>0.2.1</version>
    </dependency>
    

    现在它很容易在您的应用程序中用作库:

    import org.wiztools.xsdgen.XsdGen;
    import java.io.File;
    import java.io.FileOutputStream;
    
    ...
    
    XsdGen gen = new XsdGen();
    gen.parse(new File("in.xml"));
    File out = new File("out.xsd");
    gen.write(new FileOutputStream(out));
    

    【讨论】:

    • 完美的时机 - 只是在寻找这个:-)
    • 确实很有帮助!
    • 要使用这个,我们还需要添加xom jar,因为它包含nu.xom.parsingException类,如果不使用则会抛出错误。
    • 小警告 - 我发现这并没有找到大型 xml 文件的所有子元素。
    【解决方案2】:

    我加入了xsd-gen source code,它对我有用。你只需要

    1. TypeInferenceUtil.java
    2. XsdGen.java

    我使用的包声明(用于 Gradle)是:

    compile("com.io7m.xom:xom:1.2.10")
    compile("org.wiztools.commons:wiztools-commons-lib:0.4.1")
    

    【讨论】:

      猜你喜欢
      • 2015-04-10
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多