所以我想有一个列表要用@XmlElements注释,如下所示
@XmlElements(
{
@XmlElement(name = "Apple", type = Apple.class),
@XmlElement(name = "Orange", type = Orange.class),
@XmlElement(name = "Mango", type = Mango.class)
}
)
public List<Fruit> getEntries() {
return fruitList;
}
我想知道是否有一种方法可以强制列表包含至少1个元素,因为现在,xsd看起来像
<xs:complexType name="fruitList">
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Apple" type="tns:apple"/>
<xs:element name="Orange" type="tns:orange"/>
<xs:element name="Mango" type="tns:mango"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
假设Apple,Orange和Mango是Fruit的子类,您可能需要注释entries
与@XmlElementRef
XML模式中的替换组相对应的属性,而不是@XmlElements
与选择概念相对应的属性。
@XmlElementRef
public List<Fruit> getEntries() {
return fruitList;
}
假设Apple,Orange和Mango类扩展了Fruit类,并带有注释 @XmlRootElement
@XmlRootElement
public class Apple extends Fruit {
...
}
想要查询更多的信息
是否有可能有一个使用值 AND 元素呈现的 JAXB 元素? 我正在尝试渲染类似下面的内容: 它甚至可能不是有效的XML,但不幸的是,我试图渲染的东西需要它,而不是可选的。 如果有一个值和元素,则会给出一个。
问题内容: 我有一个Animal类和一个名为AnimalExtension的Animal扩展。 这两个类之间的唯一区别是AnimalExtension还有另一个实例变量叫做animalId。Animal没有此实例变量。 我也有自己的数据类型,想要对XML进行封送处理。此数据类型称为AnimalList。在AnimalList内,有一个Animals列表作为实例变量。 animalList可以包含A
我在xsd模式中有不同的复杂类型,我使用Jaxb在java类上展示了这一点。我以这种方式在javaclass中展示了成功复杂类型枚举: 但我不能在java生成的类中表达这种限制 minOccurs="0"和maxLlong value="15"都播种在生成的java类中。 有人能帮我吗?三硝基二甲苯
我尝试使用thajaxb来整理xml,我使用xjc命令从xsd文件order.xsd生成java类 我得到了许多带注释的类,但没有一个@XmlRootElement(name="Order"),也没有名为Order的类
minOccurs=“0”和maxLength value=“15”都被植入到生成的java类中。 有人能帮我吗?TNX
所以我的问题是: 如何将XSD中的maxOccurs/minOccurss值导入Java代码,以便在构建元素列表时将其用作max/min值?