XMLEncoderMain.java
package serialization;
import java.beans.XMLEncoder;
import java.beans.XMLDecoder;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class XMLEncoderMain {
public static void main(String[] args) throws Exception {
SimpleObject obj=new SimpleObject();
obj.setName("John Wayne");
obj.setSize(33);
obj.setTitle("Whatever you do");
dump(obj, "/tmp/obj.xml");
SimpleObject obj2=(SimpleObject)load("/tmp/obj.xml");
System.out.println("name="+obj2.getName());
}
public static void dump(Object obj, String filename) throws Exception {
XMLEncoder e=new XMLEncoder(new FileOutputStream(filename));
e.writeObject(obj);
e.close();
}
public static Object load(String filename) throws Exception {
XMLDecoder d=new XMLDecoder(new FileInputStream(filename));
Object obj=d.readObject();
d.close();
return obj;
}
}
\tmp\obj.xml
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0_11" class="java.beans.XMLDecoder">
<object class="serialization.SimpleObject">
<void property="name">
<string>John Wayne</string>
</void>
<void property="size">
<int>33</int>
</void>
<void property="title">
<string>Whatever you do</string>
</void>
</object>
</java>