-
@Retention(RUNTIME) @Target({字段,METHOD}) public @interface XmlElements
多个@
XmlElement
注释的容器。 程序元素不允许使用相同类型的多个注释。 因此,此注释作为多个@XmlElements的容器注释,如下所示:@XmlElements({ @XmlElement(...),@XmlElement(...) })
@XmlElements
注释可以与以下程序元素一起使用:- 一个JavaBean属性
- 非静态,非瞬态场
用法
用法受以下限制:
- 此注释可以与以下注释一起使用:@
XmlIDREF
,@XmlElementWrapper
。 - 如果在JavaBean属性中也指定了@XmlIDREF,那么每个@ XmlElement.type()都必须包含一个带有
@XmlID
注释的JavaBean属性。
有关其他常见信息,请参阅javax.xml.bind.package javadoc中的“Package Specification”。
示例1:映射到元素列表
// Mapped code fragment public class Foo { @XmlElements( @XmlElement(name="A", type=Integer.class), @XmlElement(name="B", type=Float.class) ) public List items; }
<!-- XML Representation for a List of {1,2.5} XML output is not wrapped using another element --> ... <A> 1 </A> <B> 2.5 </B> ... <!-- XML Schema fragment --> <xs:complexType name="Foo"> <xs:sequence> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="A" type="xs:int"/> <xs:element name="B" type="xs:float"/> <xs:choice> </xs:sequence> </xs:complexType>
示例2:映射到包含另一个元素的元素列表
// Mapped code fragment public class Foo { @XmlElementWrapper(name="bar") @XmlElements( @XmlElement(name="A", type=Integer.class), @XmlElement(name="B", type=Float.class) } public List items; }
<!-- XML Schema fragment --> <xs:complexType name="Foo"> <xs:sequence> <xs:element name="bar"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="A" type="xs:int"/> <xs:element name="B" type="xs:float"/> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>
示例3:使用适配器根据类型更改元素名称。
class Foo { @XmlJavaTypeAdapter(QtoPAdapter.class) @XmlElements({ @XmlElement(name="A",type=PX.class), @XmlElement(name="B",type=PY.class) }) Q bar; } @XmlType abstract class P {...} @XmlType(name="PX") class PX extends P {...} @XmlType(name="PY") class PY extends P {...}
<!-- XML Schema fragment --> <xs:complexType name="Foo"> <xs:sequence> <xs:element name="bar"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="A" type="PX"/> <xs:element name="B" type="PY"/> </xs:choice> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>
- 从以下版本开始:
- 1.6,JAXB 2.0
- 另请参见:
-
XmlElement
,XmlElementRef
,XmlElementRefs
,XmlJavaTypeAdapter
-
-
Required Element Summary
Required Elements Modifier and Type Required Element 描述 XmlElement[]
value
@XmlElement
注释的集合
-
-
-
Element Detail
-
value
XmlElement[] value
@XmlElement
注释的集合
-
-