我必须根据模式验证 XML 文件。问题是该模式由 89 个小 .xsd 文件组成,并使用 xsd:import 构建(文件大小约为 1kb)。当我运行我的验证器方法时,验证需要 30 多秒。有什么方法可以加快这个过程吗?
这是我用于验证的代码:
public boolean checkXML(String XMLFileName, String XSDFileName) {
Source xmlFile = new StreamSource(new File(XMLFileName));
Source schemaFile = new StreamSource(new File(XSDFileName));
SchemaFactory schemaFactory = SchemaFactory
.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
try {
Schema schema = schemaFactory.newSchema(schemaFile);
javax.xml.validation.Validator validator = schema.newValidator();
validator.validate(xmlFile);
return true;
} catch (SAXException e) {
// Validation failed
return false;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}