ImportJava.beans.XMLDecoder;ImportJava.beans.XMLEncoder;ImportJava.io.BufferedInputStream;ImportJava.io.BufferedOutputStream;ImportJava.io.ByteArrayInputStream;ImportJava.io.ByteArrayOutputStream;/*** Java serialization and deserialization->xml * <p> * Public parameterless constructor. * </p> **/ Public classserializablexmlutils {@SuppressWarnings ("Unchecked") Public Static<T>T parserxml (String xml) {Bytearrayinputstream in=NewBytearrayinputstream (Xml.getbytes ()); Xmldecoder Decoder=NewXmldecoder (NewBufferedinputstream (in)); Decoder.close (); return(T) decoder.readobject (); } Public Static<T>String formatxml (T entity) {Bytearrayoutputstream out=NewBytearrayoutputstream (); Xmlencoder Encoder=NewXmlencoder (NewBufferedoutputstream (out)); Encoder.writeobject (entity); Encoder.close (); returnout.tostring (); } Public Static voidMain (string[] args)throwsException {User User=NewUser (); User.setid (1); User.setname ("Zhang San"); User.setaihao (NewString[] {"Ball", "Ball 2" }); User.setstudent (NewStudent (1, "ER")); String XML=formatxml (user); System.out.println ("Serializing to xml:\n" +XML); User=parserxml (XML); System.out.println ("Deserialization bean:\n" +user); }}
The main is symmetric serialization under the Java.beans package, a bit like URL Decoder/encoder
JAVA serialization and deserialization of XML