用C#解析EDI平面文件?

时间:2010-01-12 03:36:58

标签: c# parsing flat-file edi x12

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

示例EDI文件:

Example EDI File

5 个答案:

答案 0 :(得分:9)

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",
        };

免责声明我写了这个库。

答案 1 :(得分:8)

答案 2 :(得分:2)

这适用于X12,并且对我的用途非常有效:

http://x12parser.codeplex.com/

这是命令行,只输出EDI文件的XML文件。

你可以根据自己的需要调整它。

答案 3 :(得分:1)

我不熟悉EDI文件格式,但其中任何一种都有帮助:

答案 4 :(得分:0)

我不确定您是否对商业工具持开放态度,但为了以防万一,我将此链接丢弃。这可能会对某人有所帮助。免责声明:我与该提供商没有任何联系。

FRAMEWORK EDI - 针对程序员的EDI工具(商业框架) - 在此处查找:http://www.edidev.com/