Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JAXB2.0验证问题_Java_Xml_Validation_Jaxb - Fatal编程技术网

Java JAXB2.0验证问题

Java JAXB2.0验证问题,java,xml,validation,jaxb,Java,Xml,Validation,Jaxb,在使用JAXB2.0时,我遇到了一个到目前为止无法解决的查询,在进行验证时,我有两个选项 1) 或者在我发现错误时立即抛出异常。 2) 如果有任何错误或验证,请继续,我认为这是最好的方法,因为它将有助于显示关于整个XML的所有错误或警告。 但由于这个过程也会导致反汇编,这意味着即使有任何错误或警告,它也会将我提供的XML反汇编到受尊重的对象。因此,所有这些都意味着额外的工作 我的问题是,这是一种我可以完成整个验证的方法,如果验证成功,那么应该将相应的XML绑定到受尊重的POJO类 提前感谢您可以

在使用JAXB2.0时,我遇到了一个到目前为止无法解决的查询,在进行验证时,我有两个选项

1) 或者在我发现错误时立即抛出异常。 2) 如果有任何错误或验证,请继续,我认为这是最好的方法,因为它将有助于显示关于整个XML的所有错误或警告。 但由于这个过程也会导致反汇编,这意味着即使有任何错误或警告,它也会将我提供的XML反汇编到受尊重的对象。因此,所有这些都意味着额外的工作

我的问题是,这是一种我可以完成整个验证的方法,如果验证成功,那么应该将相应的XML绑定到受尊重的POJO类


提前感谢

您可以使用javax.xml.validation API根据xml模式验证xml文档。您可以选择使用JAXB再次解组该对象

下面是使用这些API的示例。在本例中,输入实际上是一个对象模型,但您可以对其进行调整,以使用任何XML输入


虽然我可以使用一个标志来处理它,但您在博客中提到的方法即使有一些验证,也不会取消签名。因为标准JAXB正在这样做,如果有任何错误,我不确定我是否理解。基于我对您需求的理解,我的建议是首先在JAXB外部进行验证(使用javax.xml.validation)。如果验证成功,那么就用JAXB解组。好的,太好了,我用另一种方式思考,是的,这正是我想要的,因为我正在开发一个基于向导的导入,所以首先我需要单独进行验证。我将尝试你的方式,它看起来比JAXB目前的方式更实用、更灵活