Heim  >  Artikel  >  Java  >  Wie kann ich in JAXB eine Zuordnung zu XML mit dem Schlüssel als Elementnamen organisieren?

Wie kann ich in JAXB eine Zuordnung zu XML mit dem Schlüssel als Elementnamen organisieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-16 19:09:03369Durchsuche

How to Marshall a Map to XML with Key as Element Name in JAXB?

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 -Elementen gemarshallt. Elemente, die und Elemente.

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 Elemente mit Schlüssel- und Wertattributen.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn