Serializing Java objects to XML and back using XStream

XStream is a very simple and lightweight library that I came across when developing my final year project at University. It can be used for serializing objects into an XML string and vice-versa. XStream also supports JSON output as of the latest release. No object code has to be modified, and the library is a very simple one to use. A necessary requirement in my project was to serialize an object to XML and persist the string in an SQL server. When needed, the string would be retrieved and converted back to the specific object it represented.

For this purpose, I had two methods, one to serialize objects into XML and another to reconstruct the object from the XML. These methods are shown below (The XStream JAR file has to be referenced in your project. In Netbeans, you would need to right click the libraries package under your project, and choose ‘Add JAR’ in order to select the XStream JAR file):

public static String ObjectToXml(Object obj)

{

String xmlStr;

XStream xstream = new XStream();

xmlStr = xstream.toXML(obj);

return xmlStr;

}

public static Object XmlToObject(String xmlEncoded)

{

Object recreated;

XStream xT = new XStream();

recreated = xT.fromXML(xmlEncoded);

return recreated;

}

As can be seen above, the library is a very simple one to use, and is a good option if all you need to do is juggle between objects and XML strings in a very simple manner. The XStream library is open source, and can be downloaded from http://xstream.codehaus.org/.

Advertisements