我有以下类似的xml用于etl处理
DataTable
如果对fragmentRootElementName使用 PMMOResult ,则无法访问startTime属性。
如果我将 OMes 用作fragmentRootElementName,则我只有一项要写
如何覆盖StaxEventItemReader以使用OMeS作为fragmentRootElementName读取整个文档,然后访问PMMOResult标签下的所有嵌套元素,进行一些更改并返回为List?
答案 0 :(得分:0)
那是不可能的。 StaxEventItemReader
一次只能读取一种类型(从项读取器的基本合同中:ItemReader<T>
)。可以将fragmentRootElementName
设置为PMSetup
以获取startTime
属性,但是最终会在内存中有一个巨大的PMSetup
元素项,并且所有PMMOResult
子元素元素,这不是您想要的。
所以我建议分两步进行:
PMMOResult
中将fragmentRootElementName
设置为PMMOResult
,使用面向块的Tasklet处理块中的StaxEventItemReader
元素希望这会有所帮助。