这是我第一次使用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/