有没有办法构建StAXfilter链?
使用EventFilter
和StreamFilter
使用StAX为不同的事件类型进行自定义转换我觉得被强制进入程序实现 – 提取这些事件并处理它们,过滤这些事件并处理它们,而不是将所有结果放回原处并返回。
SAX似乎有一个非常好的function – 基于XMLFilters的可链接filter 。
我宁愿保持我的实现基于StAX,但以某种方式合并或模拟SAX的可链接filter。
这可以通过合理的努力来完成吗? 我已经错过了实施吗?
由于项目的限制,我必须坚持使用JDK,所以请不要建议使用不同的库作为答案,但可以随意在评论中提出一个 – 我很想知道那里有什么。
看看EventReaderDelegate
和StreamReaderDelegate
。 这些类将允许您包装父事件或流阅读器,以便您可以插入您想要的任何逻辑。
虽然您可以使用委托,但我认为SAX优于Stax的极少数领域之一是构建效率模块化管道的能力。 Stax更适用于递归下降方法,以及部分数据绑定(可以遍历流;手工块到JAXB,继续,非常简单,function强大)。