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
Beanclass 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.

