XmlStreamReader没有读取完整的文本值

时间:2010-10-06 05:46:04

标签: java xml xml-parsing stax xmlpullparser

我在Reading escape characters with XMLStreamReader

中看到这个问题似乎已经出现过了

但我在这里看到的问题却没什么不同。

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

之前有没有人遇到过Stax解析器这个问题。我在jdk1。,5

上使用sjsxp1.0.1实现

任何帮助或狂野的想法都会受到赞赏,因为我现在已经不再有任何想法了。

1 个答案:

答案 0 :(得分:1)

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

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