我已经关掉了dtd验证,还是特别慢
这是我解析xml字符串的代码
public static Document parseText(String xml) throws DocumentException {
SAXReader reader = new SAXReader(false);
reader.setEntityResolver(new IgnoreDTDEntityResolver());
try {
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
} catch (SAXException e) {
e.printStackTrace();
}
return reader.read(new InputSource(new StringReader(xml.toString())));
}
public class IgnoreDTDEntityResolver implements EntityResolver {
@Override
public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
return new InputSource(new ByteArrayInputStream("".getBytes()));
}
}