0

我是 ensemble 的新手,并且对数据转换有一个澄清。

我有2个模式如下,

PatientID,
Patient Name,
Patient Address (combination of door number, Street, District, State)

和另一个模式,

PatientID,
Patient Name,
Door Number
Street
District
State

现在有一个传入的文本文件,其中包含根据第一个模式(“|”分隔)的 1000 条记录,如下所示,

1001|John|220,W Maude Ave,Suisun City, CA

像这样在输入文件中有 1000 条记录

我的要求是根据第二个模式转换它(即分隔地址)并存储在文件中,例如,

1001|John|220|W Maude Ave|Suisun City|CA

我实施的一种解决方案是遍历文件中的每一行,并将地址中的 , 替换为“|”。

我的问题是,我们是否可以通过 DTL 做到这一点。如果答案是肯定的,我们如何使用 DTL 遍历 1000 条记录。

DTL会不会很耗时?因为我们需要加载模式然后进行转换。

请帮忙。

4

2 回答 2

0

您可以将 DTL 与从 Ens.VirtualDocument 或 %XML.Adaptor 继承的任何类一起使用,实际上 Ensemble 使用类字典来表示模式,因此对于基本类没有问题,您扩展 %XML.Adaptor Ensemble 可以表示它。如果是虚拟文档,则必须将对象设置为 DocType。

为了执行循环,DTL 中有一个

于 2014-08-15T22:48:09.643 回答
0

是的,DTL 可以解析 1000 条记录。您可以执行以下操作:1) 创建一个记录映射以解析具有架构 1 的传入文件 2) 定义一个将架构 2 字段映射到对象属性的中间对象 3) 创建一个 DTL,其源对象是来自 1 的记录映射对象上面和目标是上面2的对象。

于 2017-02-08T20:21:47.667 回答