Home » Core Java » beans » Bean XML serialization

About Ilias Tsagklis

Avatar photo
Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.

Bean XML serialization

This is an example of how to serialize a java Bean using the XMLEncoder. The XMLEncoder class is a complementary alternative to the ObjectOutputStream and can used to generate a textual representation of a JavaBean in the same way that the ObjectOutputStream can be used to create binary representation of Serializable objects. Serializing a java Bean using the XMLEncoder implies that you should:

  • Create a simple class, like Bean class in the example. It has two String properties and getters and setters for the properties.
  • Create a FileOutputStream stream, initialized with a String name of the target xml file.
  • Create a new XMLEncoder, with a new BufferedOutputStream to write data to the FileOutputStream.
  • Use writeObject(Object o) API method of XMLEncoder to write an XML representation of the specified object to the output.
  • Use close() API method to close the output stream associated with this stream.

Let’s take a look at the code snippet that follows:

package com.javacodegeeks.snippets.core;

import java.beans.XMLEncoder;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;

public class BeanXMLSerialization {
	
	public static void main(String[] args) throws Exception {
		
		Bean bean = new Bean();
		bean.setProperty1("value1");
		bean.setProperty2(2);

		// Serialize object into XML
	    XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("out.xml")));
	    encoder.writeObject(bean);
	    encoder.close();
		
	}
	
	public static class Bean {
		
		// Property property1
		private String property1;
	    // Property property2
		private int property2;
	    
		public String getProperty1() {
			return property1;
		}
		public void setProperty1(String property1) {
			this.property1 = property1;
		}
		
		public int getProperty2() {
			return property2;
		}
		public void setProperty2(int property2) {
			this.property2 = property2;
		}
	    
	}

}

Output:

<?xml version="1.0" encoding="UTF-8"?> 
<java version="1.6.0_05" class="java.beans.XMLDecoder"> 
 <object class="com.javacodegeeks.snippets.core.BeanXMLSerialization$Bean"> 
  <void property="property1"> 
   <string>value1</string> 
  </void> 
  <void property="property2"> 
   <int>2</int> 
  </void> 
 </object> 
</java>

 
This was an example of how to serialize a java Bean using the XMLEncoder in Java.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

 

1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design

 

and many more ....

 

Receive Java & Developer job alerts in your Area

I have read and agree to the terms & conditions

 

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments