这是我第一次使用StAX解析XML文档(仍处于学习阶段)。在使用XMLStreamReader解析XML文档并使用XMLStreamWriter生成文档副本的过程中,我在writer的输出中遇到以下表示为注释的警告:

 <!-- Exception scanning External DTD Subset.  True contents of DTD cannot be determined.  Processing will continue as XMLInputFactory.IS_VALIDATING == false. -->

我了解了警告的原因,但我希望它成为错误而不是默默地成为警告,因此我尝试将XMLInputFactory.IS_VALIDATING设置为true:
 XMLInputFactory factory = XMLInputFactory.newInstance();
 factory.setProperty(XMLInputFactory.IS_VALIDATING, Boolean.TRUE);

但是以上对我来说却是一个异常(exception):



那么我的方法有什么问题呢?

谢谢!

最佳答案

看起来Sun的StAX实现不支持DTD验证。您可以尝试使用Woodstox代替,它似乎支持验证。

关于java - StAX-如何将XMLInputFactory.IS_VALIDATING设置为true?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1659094/

10-10 04:19