使用 C# 解析 EDI 平面文件?

发布于 2024-08-18 01:30:04 字数 161 浏览 14 评论 0原文

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

EDI 文件示例:

EDI 文件示例

Initially I was thinking to use SSIS to parse an EDI file, however I've seen a few manual EDI parsers (field mapping), and would like to use automate this functionality in C#.

Example EDI File:

Example EDI File

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

各自安好 2024-08-25 01:30:04

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

免责声明 我写了这个库。

There is EDI.Net library which is opensource and supports all three known EDI formats (X12, EDIFact, Tradacoms). In your case for X12 you need to provide a custom implementation of the IEdiGrammar with the following presets.

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

Disclaimer I wrote the library.

夜访吸血鬼 2024-08-25 01:30:04

这是针对 X12 的,非常适合我的使用:

http://x12parser.codeplex.com/

这是命令行,并且仅输出 EDI 文件的 XML 文件。

您可以根据您的目的对其进行调整。

This is for X12 and worked pretty well for my uses:

http://x12parser.codeplex.com/

It's command line, and just outputs an XML file for your EDI file.

You could possibly adapt it for your purposes.

最冷一天 2024-08-25 01:30:04

我不熟悉 EDI 文件格式,但以下任何一个都会有帮助:

I'm not familiar with the EDI file format, but would either of these help:

停滞 2024-08-25 01:30:04

我不确定您是否愿意使用商业工具,但为了以防万一,我将这个链接放在这里。它可能对某人有帮助。免责声明:我与该提供商没有任何联系。

FRAMEWORK EDI - 程序员的 EDI 工具(商业框架) - 在这里找到它:http://www.edidev.com/< /a>

I am not sure if you are open to commercial tools, but I am throwing this link out here just in case. It might help somebody. Disclaimer: I am not connected in any way to this provider.

FRAMEWORK EDI - EDI Tools for Programmer (Commercial Framework) - Find it here: http://www.edidev.com/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文