2014-10-20 18 views
0

enter image description here使用c#从X12文件读取GS06段

大家好,我是EDI X12的新手。我有一个任务阅读GS段6th字段(GS06)在红色上面图像下划线。请帮助我如何在C#代码获取该值的GS06

+0

为什么你需要找到组控制号码?您也可以从GE部分获得相同的值。在你的例子中,ISA控制号码是相同的(尽管填充了零)。问题可能并非总是如此,但我需要知道你的用例。 – Andrew 2014-10-20 03:55:25

回答

0

要开始,你需要找到元素分隔符。在你的例子中,它是星号。你的段结束符是代字符。

ISA段是固定长度。其他部分是可变长度。对于你的解析器,为了找到一个特定的元素,你应该阅读文本文件,并根据段终止符来解析段。之后,您可以找到您要查找的细分受众群,找出元素分隔符的数量,并找到您找到的值。

在你的例子中,字符串将是不变的。所以你可以阅读文本文件,当你遇到〜GS OG你知道你是在正确的位置。使用你的分隔符知识,让你到你需要在字符串中的位置。

或者使用商业翻译器,它会给你更多的映射选项。

1

首先,您要在内存中存放完整文档。 然后,通过读取字符106,您将具有段分隔符。同时抓住字符4作为字段分隔符。 根据段分隔符调用拆分字符串,并且您将有一个段数组。

通常,GS应该是第二区段,所以阵列[1](或,如安德鲁指出,可以专门为与“GS” & fieldDelim &“OG”开始的段检查)。 再次根据您的字段分隔符分割字符串,secondArray [5]是您的GS06。

0

首先将每行放入数组中(可以拆分'〜'符号),这样第二行就是GS段。然后再将GS段拆分成数组(ypu可以使用'*'分割)。 GS细分数组中的第六个数组将是GS06.尝试此操作。类似地,您可以获得任何值。