原文: https://howtodoinjava.com/jaxb/java-class-to-xsd-eclipse/

学习使用 Eclipse IDE 从带有 JAXB 注解的 Java 类创建 XML 模式文档(xsd)。

1)将 JAXB 注解添加到 Java 类

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

  1. import java.io.Serializable;
  2. import javax.xml.bind.annotation.XmlAccessType;
  3. import javax.xml.bind.annotation.XmlAccessorType;
  4. import javax.xml.bind.annotation.XmlRootElement;
  5. @XmlRootElement(name = "employee")
  6. @XmlAccessorType(XmlAccessType.PROPERTY)
  7. public class Employee implements Serializable {
  8. private static final long serialVersionUID = 1L;
  9. private Integer id;
  10. private String firstName;
  11. private String lastName;
  12. private Department department;
  13. public Employee() {
  14. super();
  15. }
  16. //Setters and Getters
  17. }
  1. import java.io.Serializable;
  2. import javax.xml.bind.annotation.XmlAccessType;
  3. import javax.xml.bind.annotation.XmlAccessorType;
  4. import javax.xml.bind.annotation.XmlRootElement;
  5. @XmlRootElement(name = "department")
  6. @XmlAccessorType(XmlAccessType.PROPERTY)
  7. public class Department implements Serializable {
  8. private static final long serialVersionUID = 1L;
  9. Integer id;
  10. String name;
  11. public Department() {
  12. super();
  13. }
  14. //Setters and Getters
  15. }

2)从 JAXB 类生成 XSD

2.1)导航到 Eclipse 选项

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

使用 Eclipse 从 JAXB Java 类生成 XSD - 图1

JAXB 类选项的模式

2.2)选择生成的模式文件的位置

使用 Eclipse 从 JAXB Java 类生成 XSD - 图2

生成的模式文件的位置

2.3)选择 JAXB 类

使用 Eclipse 从 JAXB Java 类生成 XSD - 图3

选择 JAXB 类

2.4)生成 xsd 文件

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  3. <xs:element name="department" type="department"/>
  4. <xs:element name="employee" type="employee"/>
  5. <xs:complexType name="employee">
  6. <xs:sequence>
  7. <xs:element ref="department" minOccurs="0"/>
  8. <xs:element name="firstName" type="xs:string" minOccurs="0"/>
  9. <xs:element name="id" type="xs:int" minOccurs="0"/>
  10. <xs:element name="lastName" type="xs:string" minOccurs="0"/>
  11. </xs:sequence>
  12. </xs:complexType>
  13. <xs:complexType name="department">
  14. <xs:sequence>
  15. <xs:element name="id" type="xs:int" minOccurs="0"/>
  16. <xs:element name="name" type="xs:string" minOccurs="0"/>
  17. </xs:sequence>
  18. </xs:complexType>
  19. </xs:schema>

XSd 文件已生成,现在您可以将其用于各种应用用例。

学习愉快!