这是我第一次使用 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);
但上面对我抛出了一个例外:
线程“主”java.lang.IllegalArgumentException 中的异常:com.sun.org.apache.xerces.internal.impl.PropertyManager.setProperty(PropertyManager.java:150) 不支持 isValidating 的真值在 com.sun.xml。 internal.stream.XMLInputFactoryImpl.setProperty(XMLInputFactoryImpl.java:257) at com.test.test2.helper.SgmlDocumentParser.parse(SgmlDocumentParser.java:83) at com.test.test2.helper.Test.main(Test.java: 66)
那么我的方法有什么问题呢?
谢谢!