private void validateXML(DOMSource source) throws Exception {
URL schemaFile = new URL("http://www.csc.liv.ac.uk/~valli/modules.xsd");
SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI);
Schema schema = schemaFactory.newSchema(schemaFile);
Validator validator = schema.newValidator();
DOMResult result = new DOMResult();
try {
validator.validate(source, result);
System.out.println("is valid");
} catch (SAXException e) {
System.out.println("not valid because " + e.getLocalizedMessage());
}
}
但这会返回一个错误:
线程“main”中出现异常 java.lang.IllegalArgumentException:没有实现以下指定的模式语言的 SchemaFactory:http://www.w3.org/2001/XMLSchema- 可以加载实例
这是我的代码或实际 xsd 文件的问题吗?
该错误意味着您安装的 Java 没有任何可以解析 XMLSchema 文件的类,因此这不是架构或代码的问题。
我很确定最近的 JRE 默认情况下具有适当的类,所以您能给我们提供以下输出吗java -version
?
Update:
您使用了错误的 XMLContants 字符串。你要:XMLConstants.W3C_XML_SCHEMA_NS_URI
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)