【发布时间】:2017-04-04 15:21:22
【问题描述】:
我有带有一些数据的 XML 架构。我需要将此模式转换为 Flat-File 并添加 constant 标头,它作为字符串单独给出。
我有两种可能的解决方案:
由于标头值是固定的并且只发生一次,因此我将为标头创建单独的记录。 在这种情况下,我将有 2 个记录级别。 1. HeaderTitles 和 2. 记录。所以我使用 HeaderTitle 记录作为过滤器。
-
我们可以创建 2 个模式:
(1) Header - 这将具有一种字符串元素类型,“Name Age Country”。 (这是列标题)
(2) 正文 - 这将是实际的数据记录。这将有 3 个元素,名称、年龄和国家作为重复记录。
在管道汇编器中,有一个属性可以决定是否要在最终消息中包含标头信息。我们可以禁用它。
我可以通过其他方式做到这一点吗?
【问题讨论】:
-
常量标头实际上是一个常量值,还是取决于原始 XML 是可变的?无论如何,不确定创建两个架构需要什么(了解两个 .xsd 文件)您提出的第一个解决方案似乎没问题。
-
或者您接收或发送平面文件?如果您要发送,则需要汇编程序而不是反汇编程序
-
@XurxoGarcia 是的,确实是一个const值,是提前给的。
-
@Dijkgraaf 是的,我弄错了。我正在发送文件,所以我需要配置平面文件汇编器。
-
您的第一个选择是在架构中使用相同的固定值填充标头记录,这将是我将使用的方法。