0

我有一个如下所示的 XML:

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

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

如果可能,SpringBatch 或 XStream 是否对此有任何支持?

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

4

1 回答 1

1

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

于 2013-08-20T21:47:47.677 回答