Java Bean以及xsd相互生成
2016-08-18 16:02
337 查看
1.先定义一个Java bean -- Student.java
[java] viewplain copy
import java.util.List;
public class Student {
private String name;
private String number;
private String gender;
private String age;
private List<Course> courses;
public static class Course {
private String name;
private String grade;
private String remark;
// Getter and Setter Methods ...
}
// Getter and Setter Methods ...
}
2.创建xsd文件生成的工具类 -- XSDCreate
[java] viewplain copy
import java.io.File;
import java.io.IOException;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.SchemaOutputResolver;
import javax.xml.transform.Result;
import javax.xml.transform.stream.StreamResult;
public class XSDCreate {
public CustomSchemaOutputResolver resolver;
public static void main(String[] args) {
XSDCreate xsdCreate = new XSDCreate();
xsdCreate.resolver = xsdCreate.new CustomSchemaOutputResolver("F:\\schema", "student.xsd");
Class[] classes = { Student.class };
xsdCreate.createXSD(classes);
System.out.println("all done");
}
public void createXSD(Class[] classes) {
try {
JAXBContext context = JAXBContext.newInstance(classes);
context.generateSchema(resolver);
} catch (JAXBException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public class CustomSchemaOutputResolver extends SchemaOutputResolver {
private File file;
public CustomSchemaOutputResolver(String dir, String fileName) {
try {
file = new File(dir, fileName);
if (!file.exists()) {
file.createNewFile();
}
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public Result createOutput(String namespaceUri, String suggestedFileName) throws IOException {
return new StreamResult(file);
}
}
}
3. 运行XSDCreate的main方法 即可在 F:\\schema目录下生成Schema文件 --> student.xsd。
4. Window CMD 执行如下命令(JDK环境下的XJC 命令):
xjc student.xsd -d F:\schema -p com.bert.bean
执行结果如下:正在解析模式...
正在编译模式...
com\bert\bean\Course.java
com\bert\bean\ObjectFactory.java
com\bert\bean\Student.java
相关文章推荐
- Java Bean以及xsd相互生成
- Java Bean以及xsd相互生成
- C#代码生成XML文档以及规范XSD
- 如何将XSD文件以及引入import的文件生成相应的C#类。
- 如何将XSD文件以及引入import的文件生成相应的C#类。
- Visual C++6.0 程序设计从入门到精通(一) - MFC中生成类以及生成类相互获取的函数调用
- JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
- 通过JDK6带的WSIMPORT命令 基于WSDL生成对应的CLIENT代码,以及所引入的XSD定义的类
- XSD与C#Code以及XML之间的相互关心
- 学习 Xsd(IDE 生成数据集)
- ASP生成静态网页,学习CASE的用法,以及“权限”的一种控制方法
- 用程序生成XSD模式.
- XML形式的配置文件解析框架以及自动代码生成(一)
- 手工设置超链接列以及生成页面
- [cp] SLR分析表的生成 以及分析程序(3)
- [ASP.NET]button 的动态生成以及触发事件的实现
- asp.net页面生成过程详细介绍 以及asp.net2.0
- 使用xsd生成代码
- 关于生成验证码的源码以及问题解决
- .NET框架程序设计--生成,打包,部署及管理应用程序与类型(2:Assembly的生成以及版本信息)