从Maven资源获取文件的路径名

时间:2014-07-10 13:57:33

标签: java xml maven xsd

我目前有一个方法可以通过将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?

非常感谢

1 个答案:

答案 0 :(得分:0)

这就是我所寻找的,谢谢:

schema = factory.newSchema(new File(this.getClass().getResource("school.xsd").toURI()));