„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 14.11.2024
Durchsuche:762

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

Marshallieren Sie eine Zuordnung zu XML mit Schlüssel als Elementname

JAXB bietet eine praktische Möglichkeit, Objekte zu XML abzubilden. Allerdings wird eine Map normalerweise in eine Struktur mit verschachtelten -Elementen gemarshallt, die - und -Elemente enthalten.

In manchen Fällen möchten Sie die Map möglicherweise mit dem in XML marshallen Schlüssel als Elementnamen und die Werte als Elementinhalte.

Adressieren dynamischer Attributnamen

Der von JAXB-Entwicklern empfohlene Ansatz Für die Handhabung von benutzerdefiniertem Marshalling und Unmarshalling ist die Verwendung eines XmlAdapters erforderlich. 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 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 Zuordnungsschlü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 auf eine Liste von -Elementen mit Schlüssel- und Wertattributen.

Schlussfolgerung

Obwohl es nicht empfohlen wird, XML mit dynamischen Elementnamen zu generieren, Die bereitgestellten Alternativen bieten Lösungen für bestimmte Szenarien, in denen dieses Verhalten gewünscht ist.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3