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:
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.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(); }
Así pues la primera pregunta es clara: ¿de dónde lo saco, qué se mete en él?
Muchas gracias por adelantado.