<div dir="ltr" style="text-align: justify;">
<div dir="ltr" style="text-align: justify;">
<div dir="ltr" style="text-align: justify;">In this tutorial we are using Marshaller interface, we can marshal(write) the object into xml document. In the previous page, we have seen the simple example of converting object into xml.</p>
<h2>JAXB Marshalling Example</h2>
<p>In this example, we are going to convert the object into xml having primitives, strings and collection objects.</p>
<p>Let&#8217;s see the steps to convert java object into XML document.</p>
<ol style="text-align: left;">
<li>Create POJO or bind the schema and generate the classes</li>
<li>Create the JAXBContext object</li>
<li>Create the Marshaller objects</li>
<li>Create the content tree by using set methods</li>
<li>Call the marshal method</li>
</ol>
<div id="ads-id" align="center"></div>
<p><b>Employee.java</b></p>
<pre class="highlight">package com.doj.jaxb; 
 
import java.util.List; 
 
import javax.xml.bind.annotation.XmlAttribute; 
import javax.xml.bind.annotation.XmlElement; 
import javax.xml.bind.annotation.XmlRootElement; 
 
/** 
 * @author Dinesh Rajput 
 * 
 */ 
@XmlRootElement 
public class Employee { 
 private int empid; 
 private String name; 
 private float salary; 
 private List<;Address>; address; 
 
 @XmlAttribute 
 public int getEmpid() { 
 return empid; 
 } 
 public void setEmpid(int empid) { 
 this.empid = empid; 
 } 
 @XmlElement 
 public String getName() { 
 return name; 
 } 
 public void setName(String name) { 
 this.name = name; 
 } 
 @XmlElement 
 public float getSalary() { 
 return salary; 
 } 
 public void setSalary(float salary) { 
 this.salary = salary; 
 } 
 @XmlElement 
 public List<;Address>; getAddress() { 
 return address; 
 } 
 public void setAddress(List<;Address>; address) { 
 this.address = address; 
 } 
 
} 
</pre>
<p><b>Address.java</b></p>
<pre class="highlight">package com.doj.jaxb; 
 
/** 
 * @author Dinesh Rajput 
 * 
 */ 
public class Address { 
 private String locality; 
 private String city; 
 private int pin; 
 
 public String getLocality() { 
 return locality; 
 } 
 public void setLocality(String locality) { 
 this.locality = locality; 
 } 
 public String getCity() { 
 return city; 
 } 
 public void setCity(String city) { 
 this.city = city; 
 } 
 public int getPin() { 
 return pin; 
 } 
 public void setPin(int pin) { 
 this.pin = pin; 
 } 
} 
</pre>
<p><b>JaxBMarshalTest.java</b></p>
<pre class="highlight">package com.doj.jaxb; 
 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.util.ArrayList; 
import java.util.List; 
 
import javax.xml.bind.JAXBContext; 
import javax.xml.bind.JAXBException; 
import javax.xml.bind.Marshaller; 
 
/** 
 * @author Dinesh Rajput 
 * 
 */ 
public class JaxBMarshalTest { 
 
 /** 
 * @param args 
 * @throws JAXBException 
 * @throws FileNotFoundException 
 */ 
 public static void main(String[] args) throws JAXBException, FileNotFoundException { 
 JAXBContext contextObj = JAXBContext.newInstance(Employee.class); 
 
 Marshaller marshallerObj = contextObj.createMarshaller(); 
 marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); 
 
 Address localAddress = new Address(); 
 localAddress.setLocality("Sector-88"); 
 localAddress.setCity("Noida"); 
 localAddress.setPin(201301); 
 
 Address permanentAddress = new Address(); 
 permanentAddress.setLocality("Kamala Nagar"); 
 permanentAddress.setCity("Kannauj"); 
 permanentAddress.setPin(209724); 
 
 List<;Address>; list=new ArrayList<;Address>;(); 
 list.add(localAddress); 
 list.add(permanentAddress); 
 
 Employee emp = new Employee(); 
 emp.setEmpid(1111); 
 emp.setName("Dinesh Rajput"); 
 emp.setSalary(100000); 
 emp.setAddress(list); 
 
 marshallerObj.marshal(emp, new FileOutputStream("employee.xml")); 
 } 
 
} 
</pre>
<h2><b>Now run this application we get the following<i> employee.xml</i> file.</b></h2>
<pre class="highlight"><;?xml version="1.0" encoding="UTF-8" standalone="yes"?>; 
<;employee empid="1111">; 
 <;address>; 
 <;city>;Noida<;/city>; 
 <;locality>;Sector-88<;/locality>; 
 <;pin>;201301<;/pin>; 
 <;/address>; 
 <;address>; 
 <;city>;Kannauj<;/city>; 
 <;locality>;Kamala Nagar<;/locality>; 
 <;pin>;209724<;/pin>; 
 <;/address>; 
 <;name>;Dinesh Rajput<;/name>; 
 <;salary>;100000.0<;/salary>; 
<;/employee>; 
 
</pre>
<p> ;</p>
<div class="separator" style="clear: both; text-align: center;"><img src="https://dineshonjava.com/wp-content/uploads/2014/02/111-jaxb-1.gif" border="0" /></div>
<h3><b>Download Source Code</b><br />
<b><a href="https://sites.google.com/a/dineshonjava.com/dineshonjava/dineshonjava/JaxBMarshalExample.zip?attredirects=0&;d=1" target="_blank" rel="noopener">JaxBMarshalExample.zip</a></b></h3>
</div>
<p> ;</p>
</div>
<div style="background-color: pink; border-width: thin; text-align: center;"><b><;<;<a href="https://dineshonjava.com/jaxb-hello-world-example/">Previous</a> <;<; || <a href="https://dineshonjava.com/jaxb-2x-tutorial/">Index </a>|| >;>;<a href="https://dineshonjava.com/jaxb-unmarshalling-example/" target="_blank" rel="noopener">Next</a> >;>;</b></div>
<p> ;</p>
</div>
<div class="wp-post-navigation"> 
									 <div class="wp-post-navigation-pre"> 
									 <a href="https://dineshonjava.com/jaxb-hello-world-example/">Previous</a> 
									 </div> 
									 <div class="wp-post-navigation-next"> 
									 <a href="https://dineshonjava.com/jaxb-unmarshalling-example/">Next</a> 
									 </div> 
									</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
 $.post('https://dineshonjava.com/wp-admin/admin-ajax.php', {action: 'mts_view_count', id: '228'});
});
</script>
Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…
Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…
Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…
Technology has emerged a lot in the last decade, and now we have artificial intelligence;…
Managing a database is becoming increasingly complex now due to the vast amount of data…
Overview In this article, we will explore Spring Scheduler how we could use it by…