Marshall un mappage vers XML avec la clé comme nom d'élément
JAXB fournit un moyen pratique de mapper des objets vers XML. Cependant, pour une carte, il la rassemble généralement dans une structure avec des éléments
Dans certains cas, vous souhaiterez peut-être rassembler la carte en XML avec le les clés comme noms d'éléments et les valeurs comme contenu d'élément.
Adressage des noms d'attributs dynamiques
L'approche recommandée fournie par les développeurs JAXB pour gérer les le marshalling et le unmarshalling impliquent l’utilisation d’un XmlAdapter. Cependant, la mise en œuvre de l'adaptateur pour gérer les noms d'attributs dynamiques peut s'avérer difficile.
Solutions alternatives
Bien que la génération d'un tel XML soit généralement déconseillée en raison de son impact sur le contrat d'interface, il Voici quelques solutions possibles :
1. Utiliser un type énuméré pour les clés :
Définissez un type énuméré pour les clés de la carte. Cela garantit que le XSD inclut une liste d'éléments connus au moment de la compilation.
2. Simplifiez la structure par défaut :
Utilisez un MapAdapter pour convertir la carte en un tableau de MapElements contenant des attributs de clé et de valeur. Cela simplifie la structure XML en une liste d'éléments
Conclusion
Bien qu'il ne soit pas recommandé de générer du XML avec des noms d'éléments dynamiques, les alternatives fournies offrent des solutions pour des scénarios spécifiques dans lesquels ce comportement est souhaité.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3