我有一个包含多种元素类型的xml。下面是一个简单的原型xml。 实际的xml有更多的元素类型。
<company>
<FileHeader>
<fh_custId>Id</fh_custId>
<fh_custName>Name</fh_custName>
<fh_custAge>Age</fh_custAge>
<fh_dob>DOB</fh_dob>
<fh_income>Income</fh_income>
</FileHeader>
<record refId="1001">
<name>John</name>
<age>31</age>
<dob>31/8/1982</dob>
<income>200,000</income>
</record>
</company>
我正在使用带有JAXB2Marshaller的StaxEventItemReader来读取xml。我想写一个固定大小的平面文件。具有以下设置的FlatFileItemWriter只能处理一种元素类型 - (在本例中为“record”元素)。 如何配置其他元素类型。例如上面的xml中的“FileHeader”元素。
<property name="lineAggregator">
<bean
class="org.springframework.batch.item.file.transform.FormatterLineAggregator">
<property name="fieldExtractor">
<bean
class="org.springframework.batch.item.file.transform.BeanWrapperFieldExtractor">
<property name="names" value="refId, name, age, csvDob, income" />
</bean>
</property>
<property name="format" value="%-6.6s%-15.15s%-4.4s%-12.12s%-10.10s%"/>
</bean>
</property>