4

JaxbでMapを使用する方法を学ぼうとしています。これは私がしました:

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

「entry」、「key」、「value」要素名を変更する方法はありますか?

@ XmlElements、@ XmlElementを使用しようとしましたが、エラーが発生しました。

4

1 に答える 1

2

MapプロパティのXML表現をより細かく制御する場合は、XmlAdapterを使用する必要があります。詳細については、以下を参照してください。

MOXyJAXB実装でこれを処理するための拡張リクエストを入力しました。

于 2010-08-10T13:12:02.210 に答える