2014-12-05 140 views
1

我正在寻找一个轻量级库,它允许我通过Java(无命令行工具)从XML生成XSD。我知道这不是一个干净的方式来生成它,但在这种情况下,我需要做到这一点。另外XML在结构上非常简单。用Java以编程方式生成XSD

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

另外我检查了xsd-gen,但该库的问题在于需要修改源代码中某些我找不到的软件包declrations。

其他建议?

回答

12

我的工具xsd-gen的作者。我转换工具是一个图书馆的欢迎,并上传神器Maven的中央:

<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)); 
+0

完美的时机 - 只是寻找为此:-) – 2015-05-08 10:41:35

+0

真棒!谢谢! – 2015-05-12 15:44:11

+0

确实很有帮助! – 2017-03-01 11:40:24

2

我包括了xsd-gen source code,它为我工作。你只需要

  1. TypeInferenceUtil.java
  2. XsdGen.java

我使用(摇篮)的包声明如下:

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