我正在尝试解析和加载 XML 文档,但是当我在扩展 XmlObject 的类上调用 parse 方法时出现此异常。不幸的是,它没有让我知道什么元素是意外的,这是我的问题。
我无法为此分享代码,但如有必要,我可以尝试提供更多信息。
我正在尝试解析和加载 XML 文档,但是当我在扩展 XmlObject 的类上调用 parse 方法时出现此异常。不幸的是,它没有让我知道什么元素是意外的,这是我的问题。
我无法为此分享代码,但如有必要,我可以尝试提供更多信息。
无法共享代码或输入数据,您可以考虑以下方法。恐怕这是一种非常常见的二分法诊断方法,实际上您可能已经开始使用它了...
尝试通过删除部分输入 XML 来减小输入 XML 的大小,确保底层 XML 文档保持格式良好并且可能有效(如果在解析器设置中需要有效性)。如果您保持有效性,这可能需要更改架构(DTD 或其他)的 [a copy of],因为在尝试方法期间可能会删除强制元素...顺便说一句,错误消息似乎暗示更多一个验证问题,一个基本的格式良好的断言问题。
除非人们对触发解析器抱怨的区域有特别的预感,否则我们通常会删除(或重新添加,当事情开始工作时)大约一半的先前删除或重新添加的内容。
您也可以从尝试一个大部分为空的文件开始,以断言解析器确实可以工作......再次有“分而治之”的想法:问题是在 XML 输入中还是在解析器中?(记住可能有两个问题,一个在输入中,一个在解析器中,而且这些问题甚至可能是不相关的......)
很抱歉,您可能会流利地使用基本的诊断技术......
您应该检查您传递给方法 parse(); 的参数;如果您直接将字符串传递给相应的解析或文件或输入流(文件/输入流/字符串)等。
该异常是由 XML 文件的长度引起的。如果从文件中添加或删除一个字符,解析器将成功。
该问题出现在 XMLBeans 所依赖的第 3 方 PiccoloLexer 库中。它已在修订版 959082 中修复,但尚未应用于 xbean 2.5 jar。