Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/Examples/MOXy/Dynamic/XmlToDynamicEntity"
< EclipseLink | Examples | MOXy | Dynamic
(→Unmarshal DynamicEntities from XML) |
(→Get Data using DynamicType) |
||
Line 20: | Line 20: | ||
<source lang="java"> | <source lang="java"> | ||
DynamicType addressType = jaxbContext.getDynamicType("org.example.Address"); | DynamicType addressType = jaxbContext.getDynamicType("org.example.Address"); | ||
+ | |||
+ | DynamicEntity address = customer.<DynamicEntity>get("address"); | ||
for(String propertyName: addressType.getPropertiesNames()) { | for(String propertyName: addressType.getPropertiesNames()) { | ||
System.out.println(address.get(propertyName)); | System.out.println(address.get(propertyName)); |
Revision as of 12:22, 24 June 2010
Contents
Overview
In this example you will learn how to unmarshal dynamic entities from XML.
Unmarshal DynamicEntities from XML
The Unmarshaller obtained from the DynamicJAXBContext is a standard unmarshaller, and can be used normally to unmarshal instances of DynamicEntity.
FileInputStream xmlInputStream = new FileInputStream("src/example/dynamic/customer.xml"); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); DynamicEntity customer = (DynamicEntity) unmarshaller.unmarshal(xmlInputStream);
Get Data from the DynamicEntity
DynamicEntity offers property based data access, get("name") instead of getName().
System.out.println(customer.<String>get("name"));
Get Data using DynamicType
Instances of DynamicEntity have a corresponding DynamicType. DynamicType can be used to introspec the DynamicEntity.
DynamicType addressType = jaxbContext.getDynamicType("org.example.Address"); DynamicEntity address = customer.<DynamicEntity>get("address"); for(String propertyName: addressType.getPropertiesNames()) { System.out.println(address.get(propertyName)); }
XML Document
Below is a sample XML document for this example.
<?xml version="1.0" encoding="UTF-8"?> <customer xmlns="www.example.org"> <name>Jane Doe</name> <address> <street>1 Any Street</street> <city>Any Town</city> </address> </customer>