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<Document> {
|
|
@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<Object> clazz) {
|
return false;
|
}
|
}
|