在NetBeans下根据xml schema创建java类

在我的上篇文章"在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改回来就可以了。














转载于:https://www.cnblogs.com/believeit/archive/2009/10/23/2183578.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值