javax.xml.bind.annotation

接口
异常
注释
@Retention(value=RUNTIME)
@Target(value={FIELD,METHOD})
public @interface XmlElement

将 JavaBean 属性映射到派生于属性名称的 XML 元素。

用法

@XmlElement 注释可以与以下程序元素一起使用:

  • JavaBean 属性
  • 非 static、非 transient 字段
  • XmlElements 中的程序元素

用法受到以下约束的限制:

在使用 @XmlElement 注释进行注释时,JavaBean 属性被映射到 XML 模式复杂类型中的本地元素,包含的类被映射到此 XML 模式复杂类型。

示例 1:将 public 非 static 非 final 字段映射到本地元素。

     //Example: Code fragment
     public class USPrice {
         @XmlElement(name="itemprice")
         public java.math.BigDecimal price;
     }

     <!-- Example: Local XML Schema element -->
     <xs:complexType name="USPrice"/>
       <xs:sequence>
         <xs:element name="itemprice" type="xs:decimal" minOccurs="0"/>
       </sequence>
     </xs:complexType>
   

示例 2:将字段映射到 nillable 元素。


     //Example: Code fragment
     public class USPrice {
         @XmlElement(nillable=true)
         public java.math.BigDecimal price;
     }

     <!-- Example: Local XML Schema element -->
     <xs:complexType name="USPrice">
       <xs:sequence>
         <xs:element name="price" type="xs:decimal" nillable="true" minOccurs="0"/>
       </sequence>
     </xs:complexType>
   

示例 3: 将字段映射到 nillable、required 元素。


     //Example: Code fragment
     public class USPrice {
         @XmlElement(nillable=true, required=true)
         public java.math.BigDecimal price;
     }

     <!-- Example: Local XML Schema element -->
     <xs:complexType name="USPrice">
       <xs:sequence>
         <xs:element name="price" type="xs:decimal" nillable="true" minOccurs="1"/>
       </sequence>
     </xs:complexType>
   

示例 4:将 JavaBean 属性映射到具有匿名类型的 XML 元素。

请参阅 @XmlType 中的示例 6。

从以下版本开始:
JAXB 2.0

可选元素摘要
 String defaultValue
          此元素的默认值。
 String name
          XML 模式元素的名称。
 String namespace
          XML 模式元素的 XML 目标名称空间。
 boolean nillable
          将元素声明自定义为 nillable。
 boolean required
          自定义所需的元素声明。
 Class type
          正被引用的 Java 类。
 

name

public abstract String name
XML 模式元素的名称。

如果值为 "##default",那么元素名称派生于 JavaBean 属性名称。

默认值:
"##default"

nillable

public abstract boolean nillable
将元素声明自定义为 nillable。

如果 nillable() 为 true,那么 JavaBean 属性被映射到 XML 模式 nillable 元素声明。

默认值:
false

required

public abstract boolean required
自定义所需的元素声明。

如果 required() 为 true,则将 Javabean 属性映射到一个 minOccurs="1" 的 XML 模式元素声明。maxOccurs 为 "1" 表示单个赋值的属性,maxOccurs 为 "unbounded" 则表示多个赋值的属性。

如果 required() 为 false,则将 Javabean 属性映射到一个 minOccurs="0" 的 XML 模式元素声明。maxOccurs 为 "1" 表示单个赋值的属性,maxOccurs 为 "unbounded" 则表示多个赋值的属性。

默认值:
false

namespace

public abstract String namespace
XML 模式元素的 XML 目标名称空间。

如果该值为 "##default",则名称空间通过以下方式确定:

  1. 如果封闭包中包含 XmlSchema 注释,并且其 elementFormDefaultQUALIFIED,则名称空间为封闭类的名称空间。
  2. 否则名称空间为 ""(这将导致在默认名称空间中生成非限定元素)。

默认值:
"##default"

defaultValue

public abstract String defaultValue
此元素的默认值。

作为此注释元素的默认值指定的 '' 值被用作 null 的替代,从而允许识别 'no default value' 状态。

默认值:
"\u0000"

type

public abstract Class type
正被引用的 Java 类。

默认值:
javax.xml.bind.annotation.XmlElement.DEFAULT.class