选择生成模式文件的位置

生成的模式文件的位置

选择 JAXB 类

选择 JAXB 类

生成 xsd 文件

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="department" type="department"/>
  <xs:element name="employee" type="employee"/>
  <xs:complexType name="employee">
    <xs:sequence>
      <xs:element ref="department" minOccurs="0"/>
      <xs:element name="firstName" type="xs:string" minOccurs="0"/>
      <xs:element name="id" type="xs:int" minOccurs="0"/>
      <xs:element name="lastName" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="department">
    <xs:sequence>
      <xs:element name="id" type="xs:int" minOccurs="0"/>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

给Java类添加JAXB注解

第一步是向 Java 类添加诸如 @XmlRootElement@XmlAccessorType@XmlElement等注释。

import java.io.Serializable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "employee")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Employee implements Serializable {
	private static final long serialVersionUID = 1L;

	private Integer id;
	private String firstName;
	private String lastName;
	private Department department;

	public Employee() {
		super();
	}
	//Setters and Getters
}
import java.io.Serializable;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "department")
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Department implements Serializable {

	private static final long serialVersionUID = 1L;

	Integer id;
	String name;

	public Department() {
		super();
	}
	//Setters and Getters
}
使用 Java 类创建 XML 模式文档

使用 Eclipse IDE 从 JAXB 注释的 Java 类创建 XML 模式文档 (xsd)。

www. On IT Road .com

从 JAXB 类生成 XSD

导航到 Eclipse 选项

File  -> New -> JAXB -> Schema from JAXB Classes

来自 JAXB 类选项的架构

日期:2020-09-17 00:09:33 来源:oir作者:oir