【问题标题】:Simplest validation with JaXB使用 JaXB 进行最简单的验证
【发布时间】:2012-08-28 20:18:03
【问题描述】:

我想用 JaXB 验证 xml 文档。

代码:

SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
Schema schema = factory.newSchema(new StreamSource(new File("D:/liferay-develop/workspace/cat_test/v2/STD_MP.xsd")));
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
jaxbUnmarshaller.setSchema(schema);

现在,如果文档对架构无效,我想得到错误。在示例中可以看到人们为此创建了 EventHandler 类(例如 http://blog.bdoughan.com/2010/12/jaxb-and-marshalunmarshal-schema.html)。但也许存在更简单的方法来获取 conlose 和 variable 中的验证错误?

【问题讨论】:

    标签: java xml validation jaxb


    【解决方案1】:

    ValidationEventHandler 方法是您处理验证事件的方式。如果您希望尽量减少需要编写的代码量,您可以执行以下操作:

        jaxbUnmarshaller.setEventHandler(new ValidationEventHandler() {
    
            @Override
            public boolean handleEvent(ValidationEvent event) {
                System.out.println(event.getMessage());
                return true;
            }
    
        });
    

    【讨论】:

      猜你喜欢
      • 2014-03-18
      • 2016-02-23
      • 2011-01-30
      • 1970-01-01
      • 2011-10-12
      • 1970-01-01
      • 2017-10-07
      • 2014-01-01
      相关资源
      最近更新 更多