我目前有一个方法可以通过将XML文件与XSD文件进行比较来验证XML文件。
private boolean validateXmlFile() {
try {
SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
Schema schema;
schema = factory.newSchema(new File("school.xsd"));
Validator validator = schema.newValidator();
Source source = new StreamSource(new File("school.xml"));
validator.validate(source);
return true;
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
最初,XSD文件位于主目录中,但是现在我正在尝试转换我的项目,以便它被“mavenised'”,这涉及将我的所有文件放在' ;资源/' 。目录
如何将XSD文件的路径名调用到资源目录中?显然我不能这样做:
schema = factory.newSchema(new File("resources/school.xsd"));
是否涉及将文件称为InputStream?
非常感谢
答案 0 :(得分:0)
这就是我所寻找的,谢谢:
schema = factory.newSchema(new File(this.getClass().getResource("school.xsd").toURI()));