2014-12-05 177 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")