用C#解析EDI平面文件?

ElH*_*aix 14 c# parsing edi x12 flat-file

最初我正在考虑使用SSIS来解析EDI文件,但是我已经看过一些手动EDI解析器(字段映射),并且想在C#中使用自动化这个功能.

示例EDI文件:

示例EDI文件

cle*_*ris 10

EDI.Net库,它是开源的,并支持所有三种已知EDI格式(X12,EDIFACT,TRADACOMS).对于X12,您需要提供IEdiGrammar具有以下预设的自定义实现.

public class EDI_X12Grammar : IEdiGrammar
{
...
}

var grammar = new EDI_X12Grammar() 
       {
            ComponentDataElementSeparator = new[] { '>' },
            DataElementSeparator = new[] { '*' },
            DecimalMark = null,
            ReleaseCharacter = null,
            Reserved = new char[0],
            SegmentTerminator = '~',
            ServiceStringAdviceTag = null,
            InterchangeHeaderTag = "ISA",
            FunctionalGroupHeaderTag = "GS",
            MessageHeaderTag = "ST",
            MessageTrailerTag = "SE",
            FunctionalGroupTrailerTag = "GE",
            InterchangeTrailerTag = "IEA",
        };
Run Code Online (Sandbox Code Playgroud)

免责声明我写了这个库.