Marshall um mapa para XML com chave como nome do elemento
JAXB fornece uma maneira conveniente de mapear objetos para XML. No entanto, para um mapa, ele normalmente o empacota em uma estrutura com elementos
Em alguns casos, você pode querer empacotar o mapa para XML com o chaves como nomes de elementos e os valores como o conteúdo do elemento.
Endereçamento de nomes de atributos dinâmicos
A abordagem recomendada fornecida pelos desenvolvedores JAXB para lidar com empacotamento e desempacotamento personalizado envolve o uso de um XmlAdaptador. No entanto, implementar o adaptador para lidar com nomes de atributos dinâmicos pode ser um desafio.
Soluções Alternativas
Embora a geração de tal XML seja geralmente desencorajada devido ao seu impacto no contrato de interface, há existem algumas soluções possíveis:
1. Use um tipo enumerado para chaves:
Defina um tipo enumerado para as chaves do mapa. Isso garante que o XSD inclua uma lista de elementos conhecidos em tempo de compilação.
2. Simplifique a estrutura padrão:
Use um MapAdapter para converter o mapa em uma matriz de MapElements contendo atributos para chave e valor. Isso simplifica a estrutura XML para uma lista de elementos
Conclusão
Embora não seja recomendado gerar XML com nomes de elementos dinâmicos, as alternativas fornecidas oferecem soluções para cenários específicos onde esse comportamento é desejado.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3