我有一个如下所示的XML:
<root>
<header>
...
</header>
<entries>
...
</entries>
</root>
有一个标题节点,但有很多条目。 有没有办法将此节点作为Java bean提取,而无需读取整个XML文件。
如果可能的话,在SpringBatch或XStream中是否有任何支持?
我不认为使用带有StaxEventItemReader
的SpringBatch面向块的tasklet是合适的,因为我只想阅读一个项目。
答案 0 :(得分:1)
您可以编写自己的ItemReader来扩展StaxEventItemReader(或者,更好地委托它),重新定义方法ItemReader.read()
并更改条件以指示读取器“耗尽”,只在第一次有效节点读取后返回null:当Spring-批量发现ItemReader.read()
方法返回null
它将停止处理文件
您可以使用chunk-oriented并避免完整文件读取。