tutorial tipo saxexception2 podido objeto jaxbelement jaxbcontext istack example espaƱol ejemplo convertir canalizar java xml jaxb

tipo - Obtener el nombre del elemento xml del objeto java no asignado con JAXB



jaxbelement ejemplo (1)

Tengo campos anotados con @XmlElement(name="xxx") en mi modelo de Java.

¿Hay alguna manera de obtener el nombre del elemento xml programáticamente?


Digamos que tenemos una entidad anotada

@XmlRootElement public class Product { String name; @XmlElement(name="sss") public void setName(String name) { this.name = name; } }

El siguiente código imprimirá "sss" usando java Reflection API . Aquí ''producto'' es un objeto de la clase de Producto

import java.lang.reflect.Method; ... Method m = product.getClass().getMethod("setName",String.class); XmlElement a = m.getAnnotation(XmlElement.class); String nameValue = a.name(); System.out.println(nameValue);

Si necesita obtener el atributo de anotación @XmlElement del campo privado , podría usar algo como esto:

Field nameField = product.getClass().getDeclaredField("name"); nameField.setAccessible(true); XmlElement a = nameField.getAnnotation(XmlElement.class); String nameValue = a.name(); System.out.println(nameValue);