Java tutorial
//package com.java2s; /* * This file is part of the ISIS IBEX application. Copyright (C) 2012-2016 * Science & Technology Facilities Council. All rights reserved. * * This program is distributed in the hope that it will be useful. This program * and the accompanying materials are made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution. EXCEPT AS * EXPRESSLY SET FORTH IN THE ECLIPSE PUBLIC LICENSE V1.0, THE PROGRAM AND * ACCOMPANYING MATERIALS ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES * OR CONDITIONS OF ANY KIND. See the Eclipse Public License v1.0 for more * details. * * You should have received a copy of the Eclipse Public License v1.0 along with * this program; if not, you can obtain a copy from * https://www.eclipse.org/org/documents/epl-v10.php or * http://opensource.org/licenses/eclipse-1.0.php */ import java.io.Reader; import java.io.StringReader; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; public class Main { /** * Converts an input XML reader into the given type. * * @param <T> * the type to parse the XML into * @param xml * the XML to convert * @param clazz * the type to parse the XML into * @return the xml data converted into the specified type * @throws JAXBException * XML Exception thrown if the conversion failed */ @SuppressWarnings("unchecked") public static synchronized <T> T fromXml(Reader xml, Class<T> clazz) throws JAXBException { JAXBContext context = JAXBContext.newInstance(clazz); Unmarshaller unmarshaller = context.createUnmarshaller(); return (T) unmarshaller.unmarshal(xml); } /** * Converts an input XML string into the given type. * * @param <T> * the type to parse the XML into * @param xml * the XML to convert * @param clazz * the type to parse the XML into * @return the xml data converted into the specified type * @throws JAXBException * XML Exception thrown if the conversion failed */ public static synchronized <T> T fromXml(String xml, Class<T> clazz) throws JAXBException { return fromXml(new StringReader(xml), clazz); } }