Foros del Web » Programación para mayores de 30 ;) » Java »

Trabajando con JAXB

Estas en el tema de Trabajando con JAXB en el foro de Java en Foros del Web. Hola a todos. Ando modificando un proyecto web en Eclipse, y he de leer ficheros en XML mediante la API llamada JAXB. Como es la ...
  #1 (permalink)  
Antiguo 08/07/2014, 03:13
 
Fecha de Ingreso: agosto-2013
Mensajes: 18
Antigüedad: 10 años, 8 meses
Puntos: 0
Trabajando con JAXB

Hola a todos. Ando modificando un proyecto web en Eclipse, y he de leer ficheros en XML mediante la API llamada JAXB. Como es la primera vez que la uso ya me están saliendo obstáculos que no se cómo afrontar por lo que espero que podáis orientarme. Os comento lo que he hecho hasta ahora:

1- Me han pasado un XSD, que he cargado en Eclipse.
2- He generado clases mediante la opción "Generate -> JAXB Classes...". En ello se ha creado un nuevo paquete y dentro hay una clase para cada elemento complejo definido en el XSD. Y también la clase ObjectFactory.
3- Con la opción "Generate -> XML File..." he generado un XML y lo he rellenado de datos.
4- Creé una clase de prueba para ver si accede bien a esos datos del XML. Básicamente el código es:
Código:
try {
	        final JAXBContext jc = JAXBContext.newInstance("miPaquete");
	        final Unmarshaller u = jc.createUnmarshaller();
	        final JAXBElement<UnElemento> menuElement = (JAXBElement<UnElemento>)u.unmarshal(ClaseDePrueba.class.getResourceAsStream("miXML.xml"));
	        System.out.println("SubElemento A: " + menuElement.getValue().getSubElementoA());
	        System.out.println("SubElemento B: " + menuElement.getValue().getSubElementoB());
	    } catch (JAXBException e) {
	        e.printStackTrace();
	    }
Y en este punto, al ejecutarlo, sale el primer error: "javax.xml.bind.JAXBException: Unable to locate jaxb.properties for package miPaquete". Vamos, que me falta un properties.

Así pues la primera pregunta es clara: ¿de dónde lo saco, qué se mete en él?

Muchas gracias por adelantado.

Etiquetas: clase, eclipse
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:00.