我有一个XML输入文件(很大),必须按以下方式处理:
由于输入/输出文件很大,因此我使用StaxItemReader和StaxItemWriter来读取/写入文件。同时,我实现了ComposedItemProcessor,它将X转换为X',然后将X'转换为Y。问题是:我如何轻松地使用StaxItemWriter来编写X和Y?
最简单的方法是分两个步骤进行处理:
但我想避免不必要的解析。是否可以分派作业并同时写入X'和Y?
答案 0 :(得分:0)
与此同时,我实现了ComposedItemProcessor,它将X转换为X',然后将X'转换为Y。问题是:我如何轻松地使用StaxItemWriter来编写X'和Y?
在这种情况下,ComposedItemProcessor
的输入项目的类型为X,输出为Y。Y是送至项目编写器的项目类型。因此,您的项目编写者将无法编写X'个项目。
根据您的要求,write all updated X' items to new file
和transform each item X' to some new object Y
是使您的步骤相互依赖的原因。因此,我想您需要按照提到的两个步骤进行操作。