我有一个带有 Spring Boot 2.7 的 Java 11 应用程序。我需要使用 XSD 文件验证 XML 文件。这些 XSD 文件包含像
为了验证,我使用以下代码:
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
final Schema schema = sf.newSchema(monXSDFile);
final Validator validator = schema.newValidator();
final StringReader reader = new StringReader(content);
validator.validate(new StreamSource(reader));
现在,我尝试在 sf.newSchema() 方法中使用 XSD 文件的 InputStream,同时仍然允许访问导入的“core-schema.xsd”文件。
我尝试使用以下代码:
final Schema schema = sf.newSchema(new Source[] {
new StreamSource(xsdFile),
new StreamSource(coreSchemaFile)
});
然而,这并没有达到预期的效果。我该如何修改我的方法来实现这一目标? 谢谢
您可以通过两种方式根据 XSD 验证 XML:
我更喜欢使用 jaxb maven 插件。