How to create an xsd and xml data from model entity in java
The following code will show how to generate a xsd base on a given model and a sample xml with data. Let's assume you have a CustomerL...
https://www.czetsuyatech.com/2014/01/javaee-create-xsd-xml-from-entity.html
The following code will show how to generate a xsd base on a given model and a sample xml with data.
Let's assume you have a CustomerList model, which is an array of Customer.
Next is how are we going to read a java object from xml file. Let the code explain :-)
Useful tool in transforming an xml to xsd:
http://www.freeformatter.com/xsd-generator.html#ad-output
Let's assume you have a CustomerList model, which is an array of Customer.
JAXBContext context;
try {
context = JAXBContext.newInstance(CustomerList.class);
context.generateSchema(new SchemaOutputResolver() {
@Override
public Result createOutput(String namespaceURI,
String suggestedFileName) throws IOException {
File file = new File("c://temp//customer.xsd");
StreamResult result = new StreamResult(file);
result.setSystemId(file.toURI().toURL().toString());
return result;
}
});
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
m.marshal(listToExport, new FileOutputStream(
"c://temp//customers.xml"));
} catch (JAXBException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Next is how are we going to read a java object from xml file. Let the code explain :-)
JAXBContext jaxbContext = JAXBContext.newInstance(CustomerList.class); InputStream is = getClass().getClassLoader().getResourceAsStream( "customer.xml"); Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); CustomerListmessages = (CustomerList) jaxbUnmarshaller.unmarshal(is);
Useful tool in transforming an xml to xsd:
http://www.freeformatter.com/xsd-generator.html#ad-output




Post a Comment