这是我第一次使用StAX解析XML文档(仍处于学习阶段)。在使用XMLStreamReader解析XML文档并使用XMLStreamWriter生成文档副本的过程中,我在编写器的输出中遇到了以下警告:
<!-- 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);
但是上面对我提出了一个例外:
线程“main”中的异常 java.lang.IllegalArgumentException异常: isValidating的真正价值不是 支持 com.sun.org.apache.xerces.internal.impl.PropertyManager.setProperty(PropertyManager.java:150) 在 com.sun.xml.internal.stream.XMLInputFactoryImpl.setProperty(XMLInputFactoryImpl.java:257) 在 com.test.test2.helper.SgmlDocumentParser.parse(SgmlDocumentParser.java:83) 在 com.test.test2.helper.Test.main(Test.java:66)
我的做法有什么问题?
谢谢!