在NetBeans下根据xml schema创建java类
来源:互联网 发布:牛盾网络 编辑:程序博客网 时间:2024/06/08 13:49
在我的上篇文章"在NetBeans下将Java对象映射到XML文档",利用NetBeans模板代码将Person对象的数据序列化到一个xml文档中(后面称之为instant document)。本篇介绍如何使用NetBeans6.7.1从一个xsd文件(后面称之为xml schema)创建一个Java类。Person.xml内容大体如下(去掉第一行和最后一行)
我们需要一个描述java类的xml schema,这里为了简单起见,借用vs.net2005的工具xsd.exe,xsd可以根据instant document的内容推测出一个xml schema文件。在visual studio 2005 command prompt环境下执行如下命令:(假设Person.xml文件在c:)
C:Program FilesMicrosoft Visual Studio 8VC>xsd c:Person.xml
xsd.exe虽然简单,但是有一些缺点,比如生成的类型都成了string,下面是生成的xsd文件内容:
类型都成了xs:string。xml schema的语法以后我会另起一篇文章介绍。比较正式的做法一般是先设计xml schema,然后生成java类(虽然我更喜欢先写Java代码,然后导出xml schema)。
现在,我们用NetBeans创建一个Java Application工程,名称为SchemaToClass。右键点击工程,选择创建,在下面的对话框中选择xml,然后选中JAXB Binding:
点击Next按钮,如下图,进行设置:
Binding Name设置为Person,Package Name设置为freebird,Schema File选中Person.xsd文件。然后点击Finish按钮。代码生成了,如下:(注释已经去掉)
package freebird;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"name",
"sex"
})
@XmlRootElement(name = "Test")
public class Test {
protected String name;
protected String sex;
public String getName() {
return name;
}
public void setName(String value) {
this.name = value;
}
public String getSex() {
return sex;
}
public void setSex(String value) {
this.sex = value;
}
}
类名为Test是因为我在前一篇文档中有这个设置:@XmlRootElement(name="Test",namespace="freebird"),把Test改回来就可以了。
- 在NetBeans下根据xml schema创建java类
- 根据XML Schema生成java类
- 根据XML Schema生成java类
- 在NetBeans下将Java对象映射到XML文档
- Java下XML Schema的SOM模型
- 根据XML生成XML schema(*.xsd)
- 什么是XML Schema(图解; 图表)?为什么要用XML Schema(在有了dtd的情况下)?
- java 根据结果集创建XML文档
- xml schema----java Web
- DB2在操作系统用户下创建数据库schema
- netbeans创建JAVA类基础使用
- 根据Schema写出XML文档四部曲
- JAVA使用JAXB框架根据schema.xsd文件验证XML合法性
- 在NetBeans下使用AppFuse开发Java Web应用
- 在黑窗口下用命令将schema转换成java类——01
- XML第十七讲:根据Schema生成XML文档
- XML小练习:根据XML写出Schema(简单)
- 根据Schema文件编写xml并解析xml文件
- There is already an open DataReader associated ……
- 关于抄表到户存在的问题与对策
- webclient很好很强大
- Oracle USERENV和sys_context
- 关于IUser用户的权限设置
- 在NetBeans下根据xml schema创建java类
- 通过hibernate去调用存储过程
- IE 与 firefox的差别
- 开心O(∩_∩)O~~
- [转]一个类似于watch命令的小脚本
- 更快、更强 64位编程
- 如何使用PHP DOMDocument创建动态XML文件
- 无法解析类型 net.sf.hibernate.LockMode。从必需的 .class 文件间接引用了它
- VC2005使用GTK+(1)