我正在尝试学习使用Map与Jaxb。 我这样做了:
@XmlElementWrapper(name = "phoneNumbers", nillable = true)
private Map<String, PhoneNumber> phoneNumbers;
结果是:
<xs:element nillable="true" name="phoneNumbers">
<xs:complexType>
<xs:sequence>
<xs:element name="entry" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="key" minOccurs="0" type="xs:string"/>
<xs:element name="value" minOccurs="0" type="PhoneNumberType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
有没有办法更改“条目”,“键”,“值”元素名称?
我曾尝试使用@XmlElements,@ XMLElement,但我遇到了错误。
答案 0 :(得分:2)
如果希望更好地控制Map属性的XML表示,则需要使用XmlAdapter。有关详细信息,请参阅:
我已经在MOXy JAXB实现中输入了一个增强请求来处理它: