3

使用StAX为不同的事件类型进行自定义转换,EventFilterStreamFilter觉得被迫进入程序实现 - 提取这些事件并处理它们,过滤这些事件并处理它们,而不是将所有结果放回一起并返回。

SAX似乎有一个非常好的特性——基于XMLFilters的可链接过滤器。
我宁愿保持我的实现基于 StAX,但以某种方式合并或模拟来自 SAX 的可链接过滤器。

这可以通过合理的努力完成吗?如何做到?我已经错过了一个实现吗?

由于项目限制,我必须坚持使用 JDK,所以请不要建议使用不同的库作为答案,但请随时在评论中提出建议 - 我很想知道那里有什么。

4

2 回答 2

4

看看EventReaderDelegateStreamReaderDelegate。这些类将允许您包装父事件或流阅读器,以便您可以插入任何您想要的逻辑。

于 2011-04-06T14:12:11.417 回答
0

虽然您可以使用委托,但我认为 SAX 优于 Stax 的极少数领域之一是能够构建高效的模块化管道。Stax 更适合递归下降方法以及部分数据绑定(可以遍历流;将块交给 JAXB,继续,非常简单,功能强大)。

于 2011-06-30T01:12:26.637 回答