【发布时间】:2018-01-15 16:35:57
【问题描述】:
我在一个文件中有以下 2 种类型的记录,我可以使用 BeanIO 为记录类型 1 或 2 中的任何一种解析此文件,但我无法在一个解析器中同时执行这两种类型。我不知道如何在单个记录中使用我的两个映射。请给我你的指导。谢谢。
1 Length(20) 5 5 5 5 5
Columns S.No Name Street City Zip
2 Columns S.No Age Position
Length(20) 5 2 18
mapping.xml
<record name="employee" class="com.Employee" collection="list" minOccurs="1" maxOccurs="unbounded">
<field name="S.No" length="5" />
<field name="Name" length="5" />
<field name="Street" length="5" />
<field name="City" length="5" />
<field name="Zip" length="5" />
</record>
<record name="employee" class="com.Employee" collection="list" minOccurs="1" maxOccurs="unbounded">
<field name="S.No" length="5" />
<field name="Age" length="2" />
<field name="Position" length="12" />
</record>
更新1:我们可以使用S.No来区分记录 记录没有顺序,记录之间也没有依赖关系。
001 Jose Str1 City 56005
001 Hene Str1 City 66005
005 20 General Manager
001 King Str1 City 76005
005 20 General Manager
001 Leo Str1 City 86005
005 90 COO
005 70 Deputy Manager
【问题讨论】:
-
输入文件中的数据是如何组织的?首先 x 记录 1 行,然后 y 记录 2 行?另外,为什么两条记录的记录名称和类别相同?理想情况下,这些应该是不同的。
-
想想你将如何识别每条记录?
-
请查找更新,我们可以用S.No区分记录
标签: java apache-camel fileparsing bean-io