“ Prolog中不允许内容”

| 代码在帖子末尾。 进行了一些谷歌搜索,如果在XML文件中的根数据标记之前有数据,则会出现此错误。我已经查看了传入的字节流,它以60或\'<\'开头。因此,文件开头没有奇怪的字节顺序标记或其他内容。 还有什么可能导致此问题? 非常感谢!
 XMLReader r = XMLReaderFactory.createXMLReader();
 SAXSource source = new SAXSource(new NamespaceFilter(r), new InputSource(is));

 validator.validate(source, null);
    
已邀请:
根元素之外唯一允许的内容是XML声明,注释和处理指令。因此,文档可能正确启动,但根元素之前还有一些其他废话(非空白)。如果解析器不知道如何处理,BOM的确也可能导致此问题,但是这里可能不是这种情况。 您也可以考虑尝试使用诸如Woodstox之类的Stax解析器,因为尽管它可能会遇到相同的问题(无论是什么问题),但它应该能够为您提供有关实际问题的更多信息-消息太稀疏,解析器正在懒;它至少应指出位置(相对于文件开头)。     
使用压缩时,我已经看到此问题。未压缩的流有时会得到一个额外的字符。     

要回复问题请先登录注册