java - 可以使用 JAXB 2.0 验证编码的 XML 吗?

标签 java validation jaxb

显然在 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/

相关文章:

c# - 检查方法参数的最佳方法是什么?

Java XML 解码在使用 JAXB 的符号 (&) 上失败

Windows keystore 和证书

java - 无法滚动 Primefaces 分层菜单的 DIV

JQuery验证插件: valid() returns false for non-required fields

java - JAXB 创建上下文和编码器成本

java - 无法使用 @XmlElementWrapper 解码与父元素具有相同名称的 XML 相同元素列表

java - IntelliJ无法识别camelCase吗?

java - 比较列表中的元素并交换它们。 java

java - struts2对话和验证