# JAXB `@XmlRootElement`注解示例

> 原文： [https://howtodoinjava.com/jaxb/xmlrootelement-annotation/](https://howtodoinjava.com/jaxb/xmlrootelement-annotation/)

**[JAXB](https://howtodoinjava.com/jaxb/jaxb-annotations/) `@XmlRootElement`注解**的 Java 示例及其在编组和解组操作期间的用法详细说明。

## 1\. JAXB `@XmlRootElement`注解类型

`@XmlRootElement`将类或[枚举类型](https://howtodoinjava.com/java/enum/guide-for-understanding-enum-in-java/)映射到 XML 元素。 当使用`@XmlRootElement`注解注释顶级类或枚举类型时，则其值在 XML 文档中表示为 XML 元素。

`@XmlRootElement`注释可以与以下注释一起使用：`XmlType`，`XmlEnum`，`XmlAccessorType`，`XmlAccessorOrder`。

#### 1.1 语法

```java
//Without name attribute
@XmlRootElement             //1

//With name attribute         
@XmlRootElement(name = "employee")                //2

```

## 2\. JAXB `@XmlRootElement`示例

现在来看几个使用`@XmlRootElement`更改 XML 表示形式的示例。

#### 2.1 具有`name`属性的`@XmlRootElement`

```java
@XmlRootElement(name = "employee")
@XmlAccessorType(XmlAccessType.FIELD)
public class EmployeeData implements Serializable {

  private static final long serialVersionUID = 1L;

  private Integer id;
  private String firstName;
  private String lastName;
}

```

以上转换为：

```java
<employee>
    <id>1</id>
    <firstName>Lokesh</firstName>
    <lastName>Gupta</lastName>
</employee>

```

#### 2.2 不带`name`属性的`@XmlRootElement`

```java
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class EmployeeData implements Serializable {

  private static final long serialVersionUID = 1L;

  private Integer id;
  private String firstName;
  private String lastName;
}

```

以上转换为：

```java
<EmployeeData>
    <id>1</id>
    <firstName>Lokesh</firstName>
    <lastName>Gupta</lastName>
</EmployeeData>

```

将我的问题放在评论部分。

学习愉快！

参考： [`XmlRootElement` Java 文档](https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/XmlRootElement.html)