Feeds

A practical guide to JAXB 2.0

Take a peek at its new features

  • alert
  • submit to reddit

The Power of One Brief: Top reasons to choose HP BladeSystem

Create an ArticleType object, which represents an article element. Set the edition, title and author values. Obtain a List object of parameter type ArticleType and add the ArticleType object to the List. Similarly, add another ArticleType object to the Java object representation. Next, obtain a JAXBElement object of parameter type CatalogType using a factory object. A JAXBElement object is a JAXB representation of an XML element.

JAXBElement<CatalogType> catalogElement=factory.createCatalog(catalog); 

Marshal the Java object using the marshal() method.

marshaller.marshal(catalogElement, new FileOutputStream(xmlDocument)); 

To run the JAXBMarshaller.java application in Eclipse, right-click on the application node and select Run As>Run. File catalog.xml gets generated. Refresh the JAXB2 project with File>Refresh. The XML file catalog.xml gets added to the JAXB2 project.

Mapping Java to XML Using Annotations

JAXB 2.0 has added the provision to marshal a Java object to an XML document using annotations. The annotations are defined in the javax.xml.bind.annotation package. In this section we shall generate an example XML document, catalog2.xml (resources zip file), from a Java object using JAXB 2.0 annotations. The corresponding schema representation is listed in catalog2.xsd (resources zip file).

To create the XML document, create an annotated class, Catalog.java (resources zip file). Create root element of the XML document with @XmlRootElement annotation. Create a complexType using @XmlType annotation.

@XmlRootElement
@XmlType(name="", propOrder={"publisher", "edition", "title", "author"})

The annotation element name is specified as an empty string, because the complexType is defined within an element. The element order is specified using propOrder annotation element. In the Catalog class define constructors for the class, the different JavaBean properties (edition, title, author). Root element catalog has an attribute journal. Define the journal attribute using @XmlAttribute annotation.

@XmlAttribute
public String journal; 

Define getter and setter methods for the different properties and the journal attribute. Add a Java class, Catalog.java, to the JAXB2 project in Eclipse. The directory structure of the JAXB2 project with the Catalog.java class is shown in Figure 8.

JAXB2 Project Directory Structure

In the marshalling class JavaToXML.java create a JAXBContext using newInstance() method with Catalog.class as argument to the method. Create a Catalog class object and set the values of elements and attributes. Marshal the Catalog object with a Marshaller object. Run the JavaToXML.java class in Eclipse. The XML document gets created. Java classes may also be mapped to XML Schemas.®

Click here for the resources file (zip)

Seven Steps to Software Security

More from The Register

next story
Secure microkernel that uses maths to be 'bug free' goes open source
Hacker-repelling, drone-protecting code will soon be yours to tweak as you see fit
KDE releases ice-cream coloured Plasma 5 just in time for summer
Melty but refreshing - popular rival to Mint's Cinnamon's still a work in progress
NO MORE ALL CAPS and other pleasures of Visual Studio 14
Unpicking a packed preview that breaks down ASP.NET
Cheer up, Nokia fans. It can start making mobes again in 18 months
The real winner of the Nokia sale is *drumroll* ... Nokia
Put down that Oracle database patch: It could cost $23,000 per CPU
On-by-default INMEMORY tech a boon for developers ... as long as they can afford it
Another day, another Firefox: Version 31 is upon us ALREADY
Web devs, Mozilla really wants you to like this one
Google shows off new Chrome OS look
Athena springs full-grown from Chromium project's head
prev story

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
Application security programs and practises
Follow a few strategies and your organization can gain the full benefits of open source and the cloud without compromising the security of your applications.
How modern custom applications can spur business growth
Learn how to create, deploy and manage custom applications without consuming or expanding the need for scarce, expensive IT resources.
Securing Web Applications Made Simple and Scalable
Learn how automated security testing can provide a simple and scalable way to protect your web applications.