首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘Prolog中不允许使用内容’

‘Prolog中不允许使用内容’
EN

Stack Overflow用户
提问于 2011-04-16 01:18:40
回答 2查看 1.2K关注 0票数 0

代码在文章的末尾。我做了一些谷歌搜索,如果在XML文件中的根数据标记之前有数据,看起来就会出现这个错误。我已经查看了传入的字节流,它以60或“<”开头。所以在文件的开头没有奇怪的Byte-Order-Mark或其他东西。

这个问题的其他原因可能是什么?

谢谢,所以!

代码语言:javascript
复制
 XMLReader r = XMLReaderFactory.createXMLReader();
 SAXSource source = new SAXSource(new NamespaceFilter(r), new InputSource(is));

 validator.validate(source, null);
EN

回答 2

Stack Overflow用户

发布于 2011-04-17 04:09:03

根元素之外唯一允许的东西是XML声明、注释和处理指令。因此,文档可能正确启动,但在根元素之前有一些其他垃圾(非空格)。如果解析器不知道如何处理它,BOM也可能导致这个问题,但这里可能不是这种情况。

您还可以考虑尝试使用Stax解析器,例如Woodstox,因为虽然它可能会遇到相同的问题(不管是什么),但它应该能够为您提供有关实际问题的更多信息--您得到的消息太稀疏,解析器是惰性的;它至少应该指示位置(相对于文件开头)。

票数 0
EN

Stack Overflow用户

发布于 2011-04-17 04:27:22

我在使用压缩时看到过这个问题。未压缩的流有时会获得额外的字符。

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

https://stackoverflow.com/questions/5680195

复制
相关文章

相似问题

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