Marshallieren einer Zuordnung zu XML mit Schlüssel als Elementname
JAXB bietet eine praktische Möglichkeit, Objekte zu XML abzubilden. Allerdings wird eine Karte normalerweise in eine Struktur mit verschachtelten
In manchen Fällen möchten Sie möglicherweise die Zuordnung zu XML mit den Schlüsseln als Elementnamen und den Werten als Elementinhalten organisieren.
Adressierung dynamischer Attributnamen
Der von JAXB-Entwicklern empfohlene Ansatz für die Handhabung von benutzerdefiniertem Marshalling und Unmarshalling umfasst die Verwendung eines XmlAdapter. Allerdings kann die Implementierung des Adapters zur Verarbeitung dynamischer Attributnamen eine Herausforderung darstellen.
Alternative Lösungen
Obwohl von der Generierung solcher XML-Daten aufgrund ihrer Auswirkungen auf den Schnittstellenvertrag generell abgeraten wird, ist dies nicht der Fall sind ein paar mögliche Lösungen:
1. Verwenden Sie einen Aufzählungstyp für Schlüssel:
Definieren Sie einen Aufzählungstyp für die Kartenschlüssel. Dadurch wird sichergestellt, dass die XSD zur Kompilierungszeit eine Liste bekannter Elemente enthält.
2. Vereinfachen Sie die Standardstruktur:
Verwenden Sie einen MapAdapter, um die Map in ein Array von MapElements zu konvertieren, das Attribute für Schlüssel und Wert enthält. Dies vereinfacht die XML-Struktur zu einer Liste von
Fazit
Obwohl es nicht empfohlen wird, XML mit dynamischen Elementnamen zu generieren, bieten die bereitgestellten Alternativen Lösungen für bestimmte Szenarien, in denen dieses Verhalten auftritt gewünscht.
Das obige ist der detaillierte Inhalt vonWie kann ich in JAXB eine Zuordnung zu XML mit dem Schlüssel als Elementnamen organisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!