验证使用jaxb针对xsd文件创建的xml

Ana*_*d B 9 jaxb xml-validation jaxb2

我有一个使用jaxb创建的xml文件.我需要针对xsd文档验证它.是否可以在没有解组的情况下进行验证.然后我需要在xml文件中打印错误.

For*_*had 11

是的,您可以使用1.5中的java中的验证器.这是参考文档

除此之外,您可以使用基于dom或基于流的API来针对xsd文件验证XML文档.如果您希望将SAX API用于您的任务,那么请听听以下示例:

try {
    String schemaLang = "http://www.w3.org/2001/XMLSchema";

    SchemaFactory factory = SchemaFactory.newInstance(schemaLang);

    Schema schema = factory.newSchema(new StreamSource("sample.xsd"));
    Validator validator = schema.newValidator();

    validator.validate(new StreamSource("test.xml"));

} catch (SAXException e) {
    System.out.println(" sax exception :" + e.getMessage());
} catch (Exception ex) {
    System.out.println("excep :" + ex.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

否则,您可以使用DOM,DOM4J或XOM API.有关详细参考,请参阅此处.

stackoverflow中也有一个相关的答案.