解组长XML文件的单个非根节点

时间:2013-08-19 16:36:19

标签: java xml spring-batch xstream

我有一个如下所示的XML:

<root>
  <header>
    ...
  </header>
  <entries>
    ...
  </entries>
</root>

有一个标题节点,但有很多条目。 有没有办法将此节点作为Java bean提取,而无需读取整个XML文件。

如果可能的话,在SpringBatch或XStream中是否有任何支持?

我不认为使用带有StaxEventItemReader的SpringBatch面向块的tasklet是合适的,因为我只想阅读一个项目。

1 个答案:

答案 0 :(得分:1)

您可以编写自己的ItemReader来扩展StaxEventItemReader(或者,更好地委托它),重新定义方法ItemReader.read()并更改条件以指示读取器“耗尽”,只在第一次有效节点读取后返回null:当Spring-批量发现ItemReader.read()方法返回null它将停止处理文件 您可以使用chunk-oriented并避免完整文件读取。