当JAXB生成它时,它将OtherProperties创建为List.如何配置XSD以便将其生成为Map?
<xsd:element name="OtherProperties" minOccurs="0"> <xsd:complexType> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:element name="Property"> <xsd:complexType> <xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="value" type="xsd:string" /> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element>
类似于以下问题:
> Can I customize JAXB @XmlElementWrapper elements for a java.util.Map
标准JAXB对处理java.util.Map的支持有限.
要获得所需的xml表示,您需要使用XmlAdapter:
> XmlAdapter – JAXB’s Secret Weapon
你对这个方向感兴趣吗?