In this example we will show how to create dynamic entities and marshal then to XML.
Create Dynamic Entities
The DynamicJAXBContext is used to create instances of DynamicEntity. The entity and property names correspond to the class and property names that would have been generated if static JAXB had been used.
DynamicEntity customer = jaxbContext.newDynamicEntity("org.example.Customer"); customer.set("name", "Jane Doe"); DynamicEntity address = jaxbContext.newDynamicEntity("org.example.Address"); address.set("street", "1 Any Street").set("city", "Any Town"); customer.set("address", address);
Marshal Dynamic Entities to XML
The Marshaller obtained from the DynamicJAXBContext is a standard marshaller, and can be used normally to marshal instances of DynamicEntity.
Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(customer, System.out);