我在Reading escape characters with XMLStreamReader
中看到这个问题似乎已经出现过了但我在这里看到的问题却没什么不同。
我正在阅读一个非常大的XML文件,其中包含大量格式错误的html作为标记值之一。这些值包含在CDATA中,通常它们不会引起任何问题。但间歇性地,XMLSTreamReader类的getText方法只读取此CDATA中的一半文本,下一批中的第一个字符作为例子:“< table>”解析器将其视为Start节点而不是Character,导致解析失败。
之前有没有人遇到过Stax解析器这个问题。我在jdk1。,5
上使用sjsxp1.0.1实现任何帮助或狂野的想法都会受到赞赏,因为我现在已经不再有任何想法了。
答案 0 :(得分:1)
我认为我在这个问题上取得了一些进展。问题似乎是在sjsxp实现中(即使是最新版本)。有时getText方法不会读取整个文本,如果你像我一样不幸,你会遇到一个标签,这会导致问题。 我们计划对可能有效的值进行编码,但我们也尝试了woodstox实现(http://woodstox.codehaus.org),这似乎处理了这种情况。所以想问一个跟进问题
有没有其他人使用过Stax实现的Woodstox,并且知道与sjsxp相比是否有任何问题?