用 C# 解析 EDI 平面文件?
Posted
技术标签:
【中文标题】用 C# 解析 EDI 平面文件?【英文标题】:EDI Flat File parsing with C#? 【发布时间】:2011-01-04 00:43:48 【问题描述】:最初我想使用 SSIS 来解析 EDI 文件,但是我看到了一些手动 EDI 解析器(字段映射),并希望在 C# 中使用自动化此功能。
示例 EDI 文件:
【问题讨论】:
其实我最近发现是X12 820 4010 EDI格式... 【参考方案1】: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",
;
免责声明我编写了这个库。
【讨论】:
嗨。我想使用你的库,但似乎我需要使用 ASP.net Core?请问我应该使用什么框架版本?谢谢 @Fandango68 它是使用新的 dotnetcore sdk 工具构建的,但不限于此。它在 Full .Network 4.5 及更高版本中可用。检查supported frameworks on nuget.org 以查看打开依赖项部分的列表。 我想这就是我要找的东西,但我在任何地方都找不到关于支持 271 doc 的文档。 @Ron 这是序列化程序,因此您可以找到有关如何构建传输的示例,但可能没有为 271 准备好传输。您必须自己构建 POCO 模型。检查测试项目上的samples 我试过上面提到的库,它很棒。我在这里创建了一些很好的例子的博客:mylifeismymessage.net/edi-net-library-for-processing-edi-files【参考方案2】:你见过吗 http://www.codeproject.com/KB/XML/edix.aspx
【讨论】:
【参考方案3】:这适用于 X12,非常适合我的使用:
http://x12parser.codeplex.com/
它是命令行,只是为您的 EDI 文件输出一个 XML 文件。
您可以根据自己的目的对其进行调整。
【讨论】:
【参考方案4】:我不熟悉 EDI 文件格式,但以下任何一种都有帮助:
http://www.sparrow-tech.com/ediparser.net.aspx
http://sourceforge.net/projects/edival/
【讨论】:
【参考方案5】:我不确定您是否愿意使用商业工具,但我将这个链接放在这里以防万一。它可能会帮助某人。免责声明:我与该提供商没有任何联系。
FRAMEWORK EDI - 程序员的 EDI 工具(商业框架) - 在这里找到它:http://www.edidev.com/
【讨论】:
以上是关于用 C# 解析 EDI 平面文件?的主要内容,如果未能解决你的问题,请参考以下文章