beans
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:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 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:
01 02 03 04 05 06 07 08 09 10 11 | <? 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.