0

正如我在使用 XMLStreamReader 读取转义字符中看到的那样,这个问题似乎已经出现过

但我在这里看到的问题略有不同。

我正在阅读一个非常大的 XML 文件,其中包含一大段格式错误的 html 作为标记值之一。这些值包含在 CDATA 中,通常不会导致任何问题。但间歇性地,XMLSTreamReader 类的 getText 方法仅读取此 CDATA 中的一半文本,并且下一批中的第一个字符作为示例:“<table>”,解析器将其视为 Start 节点而不是 Character,导致解析失败。

有没有人在使用 Stax 解析器之前遇到过这个问题。我在 jdk1.,5 上使用 sjsxp1.0.1 实现

任何帮助或疯狂的想法将不胜感激,因为我现在没有所有想法。

4

1 回答 1

1

我想我在这个问题上取得了一些进展。问题似乎出在 sjsxp 实现中(即使是最新的)。有时 getText 方法不会读取整个文本,如果你像我一样不幸,你会遇到一个标签,这会导致问题。我们计划对可能有效的值进行编码,但我们也尝试了 woodstox 实现(http://woodstox.codehaus.org),这似乎可以处理这种情况。所以想问一个后续问题

有没有其他人使用过 Woodstox 的 Stax 实现,并且知道与 sjsxp 相比是否存在任何问题?

于 2010-10-07T00:38:10.297 回答