In this post I will explain how to parse a xml document using DOM api. The DOM api can also be used to create xml documents in addition to reading. The DOM compliant parser loads the entire document in memory for reading it. Once the entire xml document is loaded in the memory, we can…… Continue reading Parsing xml document using DOM api
Tag: XML
Parsing xml document with SAX API
In this post I will explain how to parse an xml document in java using the SAX API. SAX api is event based java api. The SAX compliant parser which reads the xml document sequentially, generates events whenever the parser encounters an xml element. The parser reads the document sequentially and doesn’t load the entire…… Continue reading Parsing xml document with SAX API
Marshaling a property as xml attribute
By default when marshaling to xml file, all properties are marshaled as elements. This default behaviour can be changed and this post explains how to do it. In this post I will marshall the below java bean class, and id property as its attribute. Country 1 package package1; 2 3 import javax.xml.bind.annotation.XmlAttribute; 4 import javax.xml.bind.annotation.XmlRootElement;…… Continue reading Marshaling a property as xml attribute
Preventing a property from being marshalled to xml file
By default all properties of an instance are marshalled as elements in an xml file. As shown below.. Marshalling an Country insance with below class structure Country package package2; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class Country { private int id; private String name; private int population; public int getId() { return id; } public void setId(int…… Continue reading Preventing a property from being marshalled to xml file
Listening to unmarshalling events
By subclassing Unmarshaller.Listener abstract class, we can create listener class which will listen to unmarshling events. We can add our code if we want to perform some actions before and after unmarshalling. The Unmarshaller.Listener class has two methods which can be overridden. By default the methods doesn’t perform any actions. 1) public void beforeUnmarshal(Object target,…… Continue reading Listening to unmarshalling events
Listening to marshaling events
By subclassing Marshaller.Listener abstract class, we can create listener class which will listen to marshling events. We can add our code if we want to perform some actions before and after marshalling. The Marshaller.Listener class has two methods which can be overridden. By default the methods doesn’t perform any actions. 1) public void beforeMarshal(Object source)…… Continue reading Listening to marshaling events
Programmatically generating schema for java classes
This post will explain how to generate schema files for java classes programmatically. The schema is generated by an instance of JAXBContext. In addition to JAXBContext we also need SchemaOutputResolver for this purpose. The SchemaOutputResolver class is an abstract class so we need to create a new class extending SchemaOutputResolver as shown below. package JAXB;…… Continue reading Programmatically generating schema for java classes
Updating a particular element in JAXB generated xml
Sometimes xml documents are very big and our requirement is to update a particular section of the document. JAXB binder comes to our help. Binder object maintains the mapping between the java object and xml infoset like DOM. Any modification to java object can be synchronized to xml held by binder object and vice versa.…… Continue reading Updating a particular element in JAXB generated xml
Marshalling and Unmarshalling java class
1) First we need to create jaxb context as shown below. A instance of this class is always required, as it is through this class we get marshaller and unmarshaller objects JAXBContext jaxbContext = JAXBContext.newInstance(Country.class); An instance of JAXBContext is thread safe but it is heavy weight object. So it is recommended to reuse the…… Continue reading Marshalling and Unmarshalling java class