我想为以下类生成xsd
public class Node{
private String value;
private List<Node> childrens;
}
Run Code Online (Sandbox Code Playgroud)
为此类代码生成xsd架构的最佳实用程序是什么
一般来说,我想实现简单的树.我已经在使用jaxb从schema中生成类.
您可以使用generateSchemaAPI JAXBContext来生成XML模式:
import java.io.IOException;
import javax.xml.bind.*;
import javax.xml.transform.Result;
import javax.xml.transform.stream.StreamResult;
public class Demo {
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContext.newInstance(Node.class);
jc.generateSchema(new SchemaOutputResolver() {
@Override
public Result createOutput(String namespaceURI, String suggestedFileName)
throws IOException {
return new StreamResult(suggestedFileName);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
如果您已经在使用 JAXB,则可以使用该schemagen工具创建 XSD:
还有 Ant 任务和 Maven 插件可以自动执行相同的操作。