【发布时间】:2014-10-24 04:41:53
【问题描述】:
我想在解组之前使用它的 xsd 验证一个 xml 文件。
代码如下:
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(xsdFilePath);
Validator validator = schema.newValidator();
validator.setErrorHandler(new MyValidationErrorHandler());
validator.validate(new StreamSource(xmlFilePath));
我发现当一个 xml 元素没有关闭时,Validator 未能将其记录为错误,但 UnMarshaller 识别到这一点并抛出“发现以元素开头的无效内容..”错误。
我希望验证和解组/编组是不同的操作。
有没有办法让验证器检测 xml 文件中的此类语法错误?
【问题讨论】:
标签: java xml validation jaxb