views:

254

answers:

2

I have a complex set of data models that currently implement java.io.Serializable, and I have successfully serialized and deserialized them with ObjectOutputStream and ObjectInputStream.

However, the result are binary files (as expected), and I was wondering if Java supports serialization and deserialization in the same manner to a non-binary format, such as XML.


I see that C# has this feature: http://stackoverflow.com/questions/1092020/xml-vs-binary-performance-for-serialization-deserialization.

Performance speed/ efficiency is not a consideration in this case.

+3  A: 

Yes, Java has it and it's called XML Encoding. Check it out here!

The approach is quite similar to the normal serialization..

Jack
+4  A: 

Further, I would suggest you to look at Simple and XStream frameworks. I found both good. You can choose to go with either one, or may be XmlEncoder as suggested by Jack.

Adeel Ansari
I'm chiming in for XStream too.
aberrant80
Simple if far more performant that XStream, at worst case its 2x faster. Also, for very large object graphs Simple beats Java object serialization.
ng