XMLMarshallerUtil.java 文件源码

java
阅读 31 收藏 0 点赞 0 评论 0

项目:stroom-stats 作者:
public static <T> T unmarshal(final JAXBContext context, final Class<T> clazz, final String data,
        final XmlAdapter<?, ?>... adapters) {
    if (data != null) {
        final String trimmed = data.trim();
        if (trimmed.length() > 0) {
            try {
                final Unmarshaller unmarshaller = context.createUnmarshaller();

                if (adapters != null) {
                    for (final XmlAdapter<?, ?> adapter : adapters) {
                        unmarshaller.setAdapter(adapter);
                    }
                }

                final JAXBElement<T> jaxbElement = unmarshaller.unmarshal(
                        new StreamSource(new ByteArrayInputStream(trimmed.getBytes(StandardCharsets.UTF_8))),
                        clazz);
                return jaxbElement.getValue();
            } catch (final JAXBException e) {
                throw new RuntimeException("Invalid XML " + trimmed, e);
            }
        }
    }
    return null;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号