gpt4 book ai didi

针对 XSD 模式的 Java XML 验证

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:02 25 4
gpt4 key购买 nike

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 的输出吗?


更新:

您使用了错误的 XMLContants 字符串。你想要:XMLConstants.W3C_XML_SCHEMA_NS_URI

关于针对 XSD 模式的 Java XML 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2396903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com