JAXB unterstützt nativ das Marshallen einer Map in eine Struktur wie diese:
<map> <entry> <key> KEY </key> <value> VALUE </value> </entry> <entry> <key> KEY2 </key> <value> VALUE2 </value> </entry> ... </map>
In bestimmten Fällen kann es jedoch erforderlich sein, XML zu generieren, in dem die Der Schlüssel wird zu einem Elementnamen und der Wert wird zu seinem Inhalt, etwa so:
<map> <key> VALUE </key> <key2> VALUE2 </key2> ... </map>
Im Allgemeinen wird empfohlen, diese Art der XML-Generierung zu vermeiden, da dadurch eine Abhängigkeit vom Inhalt der Karte zur Laufzeit entsteht. Dies kann sich auf im XML-Schema (XSD) definierte Schnittstellenverträge auswirken.
Erwägen Sie stattdessen die Verwendung eines Aufzählungstyps als Schlüssel der Map, um sicherzustellen, dass Elementnamen zur Kompilierungszeit bekannt sind, sodass JAXB ein Schema generieren kann das schränkt Elemente im XML ein.
Um die standardmäßig generierte Struktur etwas zu vereinfachen wie:
<map> <item key="KEY" value="VALUE"/> <item key="KEY2" value="VALUE2"/> </map>
Implementieren Sie einen benutzerdefinierten MapAdapter, der die Karte in ein Array von MapElements konvertiert.
Das obige ist der detaillierte Inhalt vonWie kann ich eine Karte in JAXB in das „Wert'-Format transformieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!