Java 怎么通过JAXB将XML转换为对象

2019年7月21日19:58:42Java 怎么通过JAXB将XML转换为对象已关闭评论 413 1029字阅读3分25秒

1.简介

Java 怎么通过JAXB将XML转换为对象?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */


import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringReader;

import java.util.HashMap;
import java.util.Map;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;

import javax.xml.bind.Unmarshaller;

public class Main {


    private static Map<Class<?>, Unmarshaller> uMap = new HashMap<Class<?>, Unmarshaller>();

    
    public static <T> T convertToObject(Class<T> clazz, String xml) {
        return convertToObject(clazz, new StringReader(xml));
    }

    
    public static <T> T convertToObject(Class<T> clazz,
            InputStream inputStream) {
        return convertToObject(clazz, new InputStreamReader(inputStream));
    }

    
    @SuppressWarnings("unchecked")
    public static <T> T convertToObject(Class<T> clazz, Reader reader) {
        try {
            if (!uMap.containsKey(clazz)) {
                JAXBContext jaxbContext = JAXBContext.newInstance(clazz);
                Unmarshaller unmarshaller = jaxbContext
                        .createUnmarshaller();
                uMap.put(clazz, unmarshaller);
            }
            return (T) uMap.get(clazz).unmarshal(reader);
        } catch (JAXBException e) {
            e.printStackTrace();
        }
        return null;
    }
}

 
继续阅读
编程十万个怎么办