【发布时间】:2012-03-23 10:45:28
【问题描述】:
我正在使用 STAX 解析大文档。我如何记住、克隆或保存 XMLStreamReader 或其位置,以便稍后返回该位置并像往常一样继续阅读?
编辑
我知道有 getLocation() 方法,但是如何将 Location 分配给另一个阅读器?
【问题讨论】:
我正在使用 STAX 解析大文档。我如何记住、克隆或保存 XMLStreamReader 或其位置,以便稍后返回该位置并像往常一样继续阅读?
编辑
我知道有 getLocation() 方法,但是如何将 Location 分配给另一个阅读器?
【问题讨论】:
你不能那样做。无法跳转到某个位置。 StAX 和 SAX 都是只向前的解析器。这为有效实施提供了可能性。
如果您的实现支持它(不太可能),这在理论上是可能的。听起来您需要 Dom 或 TrAX 解析器。
如果由于文档的大小而无法做到这一点,那么您必须修改您的解析,以便不需要返回到之前的点。或者您可以记住代码中的位置(例如基于元素计数)并在实际处理之前将新解析器滚动到该点。
【讨论】: