package com.walker.infrastructure.core.domx; import com.walker.infrastructure.core.DomParser; import com.walker.infrastructure.utils.StringUtils; import org.jdom2.Document; import org.jdom2.input.SAXBuilder; import org.xml.sax.InputSource; import java.io.InputStream; import java.io.StringReader; public class Jdom2Parser implements DomParser { @Override public Document getDocumentFromXml(String xml) { if (StringUtils.isEmpty(xml)) { return null; } SAXBuilder builder = new SAXBuilder(); StringReader read = new StringReader(xml); InputSource source = new InputSource(read); try { Document document = builder.build(source); return document; } catch (Exception e) { throw new RuntimeException("异常,getDocumentFromXml:" + xml, e); } finally { read.close(); } } @Override public Document getDocumentFromStream(InputStream inputStream) { SAXBuilder saxBuilder = new SAXBuilder(); try { Document document = saxBuilder.build(inputStream); return document; } catch (Exception e) { throw new RuntimeException(e); } } @Override public boolean isSupported(Class clazz) { return false; } }