显然在 JAXB 的第 2 版中 - validator 类已被弃用 - 这是否意味着编码器正在自动验证您的 XML?如果是这样,它似乎并没有提示我正在形成的一些不正确的 XML!谁能给我一些关于如何验证编码 XML 以确保它符合 XSD 架构的建议。
非常感谢。
最佳答案
通过使用 JAXP 1.3 Schema Validation Framework,验证功能在 JAXB 2.0 中得到了扩展。
你之前在哪里:
unmarshaller.setValidating(true);
现在你需要做的:
SchemaFactory sf = SchemaFactory.newInstance(
javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = sf.newSchema(new File("myschema.xsd"));
unmarshaller.setSchema(schema);
如果将 null 传递给 setSchema
,它会禁用验证。
请查看this reference .
关于java - 可以使用 JAXB 2.0 验证编码的 XML 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/805989/