如果数字的小数部分用逗号分隔,如何创建平面文件 XSD-schema?

How to create flat file XSD-schema, if fractional part of numbers delimited by comma?

我有一个 csv 文件,其中的小数部分由逗号分隔:

header1;header2;header3;header4
text1;2,99;0,5;7,35
text2;6,12;3,98;0,15

如何从中创建平面文件 XSD-schema?问题是平面文件模式向导期望点作为数字的小数部分分隔符。当然,我可以将数字字段创建为字符串字段,然后创建用点替换逗号的映射。但是这种方法需要 1 个额外的模式和 1 个带有映射的编排。这个问题很普遍,经常出现。当我创建模式时,有没有办法用点替换逗号?或者有其他方法可以解决这个问题吗?

我认为没有您想要的解决方案,但您可以在同一接收端口上使用 Inbound Map,并且不需要编排:

  1. 生成平面文件架构以获得等效的XML,字段为字符串,小数点以逗号分隔。
  2. 生成目标 XML 架构,字段为十进制值。
  3. 生成映射,您在其中解析用逗号分隔的输入字符串字段到目标十进制字段中。
  4. 使用平面文件反汇编器和平面文件架构在接收位置配置管道。
  5. 使用您生成的入站映射配置接收端口。
  1. 通过向导将字段创建为字符串
  2. 创建架构后,将元素的 "Data Type" 更改为 decimal.
  3. 将架构的 Culture 属性 更改为 Turkish(Turkey) 或使用逗号作为十进制分隔符的任何其他文化。

逗号替换不需要使用任何地图