4

我正在尝试学习将 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,但我遇到了错误。

4

1 回答 1

2

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

我已经在 MOXy JAXB 实现中输入了一个增强请求来处理这个问题:

于 2010-08-10T13:12:02.210 回答