首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StAX -如何将XMLInputFactory.IS_VALIDATING设置为真?

StAX -如何将XMLInputFactory.IS_VALIDATING设置为真?
EN

Stack Overflow用户
提问于 2009-11-02 01:53:39
回答 1查看 3.3K关注 0票数 5

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

代码语言:javascript
复制
 <!-- Exception scanning External DTD Subset.  True contents of DTD cannot be determined.  Processing will continue as XMLInputFactory.IS_VALIDATING == false. -->

我理解了发出警告的原因,但我希望它成为一个错误,而不是默默地成为一个警告,因此我尝试将XMLInputFactory.IS_VALIDATING设置为true:

代码语言:javascript
复制
 XMLInputFactory factory = XMLInputFactory.newInstance();
 factory.setProperty(XMLInputFactory.IS_VALIDATING, Boolean.TRUE);

但上述情况给我带来了一个例外:

线程"main“中的异常: com.sun.org.apache.xerces.internal.impl.PropertyManager.setProperty(PropertyManager.java:150) at 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)不支持的isValidating的真值

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

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-02 03:48:49

看起来Sun的StAX实现不支持DTD验证。您可以尝试使用伍德斯托克斯,它似乎支持验证。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1659094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档