如何针对 xsd 验证 xml 并获取 *ALL* 错误?
2022-09-01 04:24:59
我有一个像下面这样的标准代码来验证xml与xsd,但它在第一个错误时引发异常并停止。如何验证xml,但继续第一个和下一个错误,并在最后获取它们?有可能吗?
public static void validate(File xml, InputStream xsd) {
try {
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(new StreamSource(xsd));
Validator validator = schema.newValidator();
StreamSource xmlFile = new StreamSource(xml);
validator.validate(xmlFile);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}