J'ai du mal à trouver le bon schéma (pour valider la structure et les types de données) de classes simple. Par exemple, je pourrais obtenir la réponse pour Employee
classe avec schemagen
(fourni avec JDK), mais ne pouvait toujours pas le faire fonctionner pour HumanResources
.Schéma XML approprié pour Marshaller setSchema
J'essaie de sérialiser la collection d'instances de classe Employee
en XML. Pour cela, j'ai créé la classe HumanResources
, qui contient une liste d'éléments de classe Employee
. Exemple:
ArrayList<Employee> ems = getTestData();
HumanResources hm = new HumanResources(ems);
SchemaFactory sf = SchemaFactory.newInstance(javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI);
JAXBContext jaxbContext = JAXBContext.newInstance(HumanResources.class);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setSchema(sf.newSchema(new File("src\\server\\HumanResources.xsd")));
marshaller.marshal(new JAXBElement<HumanResources>(
new QName(null, "HumanResources"), HumanResources.class, hm), os);