Click here to Skip to main content
15,881,812 members
Articles / Programming Languages / Java

Serializing Java Objects to XML and Back

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
5 Sep 2010CPOL1 min read 15.7K   2   1
How to serialize Java objects to XML and back

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):

Java
public static String ObjectToXml(Object obj)
{
	String xmlStr;
	XStream xstream = new XStream();
	xmlStr = xstream.toXML(obj);
	return xmlStr;
}
Java
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/.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Technical Lead Exilesoft
Sri Lanka Sri Lanka
Mark is a Technical Lead at Exilesoft, whose passion lies in coding, mentoring, and fueling technical innovation. In the past, he has worked as a developer for a product engineering company, an ERP/Technical Consultant in a Fortune 500 conglomerate, and also as a senior engineer for a startup in the manufacturing and design space. His current areas of research revolve around Enterprise Architecture, Big Data, NoSQL Technology, and Machine Learning.

In his spare time, Mark experiments with (computer) game design/development, operating system internals, and compiler design. He also discusses and blogs about various topics surrounding software development, computer science, game programming, and mathematics, which can be read at markfaction.wordpress.com. Feel free to email or message him anytime and strike up a conversation.

Comments and Discussions

 
GeneralFormatting issue Pin
DaveAuld3-Sep-10 5:16
professionalDaveAuld3-Sep-10 5:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.