Mapping 我可以为java.util.Map定制JAXB@xmlementwrapper元素吗

Mapping 我可以为java.util.Map定制JAXB@xmlementwrapper元素吗,mapping,jaxb,jaxb2,Mapping,Jaxb,Jaxb2,我正在尝试学习如何将Map与Jaxb结合使用。 我这样做: @XmlElementWrapper(name = "phoneNumbers", nillable = true) private Map<String, PhoneNumber> phoneNumbers; @xmlementwrapper(name=“phoneNumbers”,nillable=true) 私人地图电话号码; 结果是: <xs:element nillable="true" name="p

我正在尝试学习如何将Map与Jaxb结合使用。 我这样做:

@XmlElementWrapper(name = "phoneNumbers", nillable = true)
private Map<String, PhoneNumber> phoneNumbers;
@xmlementwrapper(name=“phoneNumbers”,nillable=true)
私人地图电话号码;
结果是:

 <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>

有没有办法更改“entry”、“key”、“value”元素的名称


我曾尝试使用@xmlmelements、@xmlmelement,但我刚刚遇到错误。

如果您想更好地控制映射属性的XML表示形式,则需要使用XmlAdapter。有关更多详细信息,请参阅:

我已经输入了一个增强请求,以便在MOXy JAXB实现中处理此问题:

也请查看此答案