最初我想使用 SSIS 来解析 EDI 文件,但是我看到了一些手动 EDI 解析器(字段映射),并希望在 C# 中使用自动化此功能。
示例 EDI 文件:
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",
};
免责声明我写了这个库。
我不熟悉 EDI 文件格式,但这些都有帮助:
我不确定您是否对商业工具持开放态度,但我将这个链接放在这里以防万一。它可能会帮助某人。免责声明:我与该提供商没有任何联系。
FRAMEWORK EDI - 程序员的 EDI 工具(商业框架) - 在这里找到它:http ://www.edidev.com/