【发布时间】:2014-06-24 15:08:21
【问题描述】:
我正在尝试创建一个 API,允许我在 C# 中创建和解析 EDI 消息。
作为概念证明并保持简单,我正在尝试编写一个小型类库来创建 C090 数据结构,您可以看到here
我不确定如何为 3286 数据元素创建属性,因为其中有五个。我真的不想为此使用数组或列表,并且想知道是否有任何可能的方法将它们创建为五个属性,但又不使用下划线或数字来混淆它们?
【问题讨论】:
-
任何复合元素类型都会遇到这种情况。 NAD段中的C080也是同理。您最多可以从源中获取 5 条信息来构成整个元素。根据标准,第一个子元素是强制性的。我不完全确定我理解你想要做什么,但在我看来,你在源端命名它应该不重要(如果你正在创建文档)。基于分隔符解析入站文档更简单。我认为您的问题可以通过一些示例代码来改进。
-
@Andrew 我想你是对的,这可能无关紧要,但我想尝试使属性名称与原始数据元素尽可能接近。我想我会尝试给它们编号,看看情况如何。
-
@mike:编号的缺点是当一个新的子元素添加到复合编号时,其余部分会出错。 (这是一个问题还是它很重要?取决于你的判断。)
-
您可能会对此有所了解,看看机器人 (bots.sourceforge.net)。在映射脚本中,可以通过调用访问解析的 edi 消息(认为这接近 API?)。类似的逻辑可用于编写 edi 消息。