Here you can find the source of deserializeXmlToJava(String valueType, Serializable value)
public static Serializable deserializeXmlToJava(String valueType, Serializable value) throws Exception
//package com.java2s; /*/* w w w . j a va 2s. com*/ * CDDL HEADER START * The contents of this file are subject to the terms * of the Common Development and Distribution License * (the License). You may not use this file except in * compliance with the License. * * You can obtain a copy of the License at * http://www.sun.com/cddl/cddl.html and legal/CDDLv1.0.txt * See the License for the specific language governing * permission and limitations under the License. * * When distributing Covered Code, include this CDDL * Header Notice in each file and include the License file * at legal/CDDLv1.0.txt. * If applicable, add the following below the CDDL Header, * with the fields enclosed by brackets [] replaced by * your own identifying information: * "Portions Copyrighted [year] [name of copyright owner]" * * [Name of File] [ver.__] [Date] * * Copyright 2009 Sun Microsystems Inc. All Rights Reserved * CDDL HEADER END */ import java.io.Serializable; import java.io.StringReader; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBElement; import javax.xml.bind.Unmarshaller; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamReader; public class Main { public static Serializable deserializeXmlToJava(String valueType, Serializable value) throws Exception { Serializable deserializedValue = null; if (value != null) { XMLStreamReader xml = null; if (value instanceof String) { xml = XMLInputFactory.newInstance().createXMLStreamReader(new StringReader((String) value)); } if (xml != null) { ClassLoader loader = Thread.currentThread().getContextClassLoader(); Class<? extends Serializable> clazz = loader.loadClass(valueType).asSubclass(Serializable.class); JAXBContext jaxbContext = JAXBContext.newInstance(clazz); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); JAXBElement result = unmarshaller.unmarshal(xml, clazz); deserializedValue = (Serializable) result.getValue(); } } return deserializedValue; } }