假设您有一个复杂类型
<xs:complexType name="RepeatingNormalizedStringType">
<xs:sequence>
<xs:element name="repeatingNormalizedString" type="xs:normalizedString" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
JAXB将元素repeatingNormalizedString
映射到
@XmlElementRef(name = "repeatingNormalizedString", namespace = "urn:test", type = JAXBElement.class)
protected List<JAXBElement<String>> repeatingNormalizedString;
而不是
protected List<String> repeatingNormalizedString;
正如您所料,
normalizedString
的所有子类型都会出现此问题。当重复组或序列中的元素具有类型normalizedString
时,它也会显示,在这些情况下,组/序列将折叠为:
protected List<JAXBElement<?>> synthesisedGroupOrSequencePropertyName;
即使您通常期望List<Object>
或List<NearestCommonSupertype>
。
我已经阅读了JAXB规范,例如第6.7节,第6.12节但是找不到这种情况的任何描述。
我的两个问题:
normalizedString
及其子类型必须具有应用于它们的类型适配器这一事实。 干杯,
马修