EDI文件管道分隔的平面文件

时间:2010-03-02 23:22:11

标签: c# .net flat-file edi

我正在寻找任何有用的链接或建议,将传入的EDI 940(X12)转换为c#.net中的(|)管道分隔的平面文件

2 个答案:

答案 0 :(得分:2)

对于一次性翻译,我的技术可能看起来很重,但这里是:

步骤#1:X12 ------------- [预解析程序] ---> X12语法XML

步骤#2:X12语法XML - > [940解析XSLT] ------> 940 XML

步骤3:940 XML --------> [映射XSLT] ---------->你的FF XML

步骤4:你的FF XML ----> [Serialising XLST] ------>你的FF

步骤#1:“X12语法XML”是一个非常简单的语法,只显示X12的SYNTAX,因此[Pre-Parsing Program]非常简单,可以用于任何X12。

步骤2:“940 XML”具有完全明确940结构的语法。[940 Parsing XSLT]是表达940特定结构的地方。

步骤3:[Mapping XSLT]将940结构转换为FF的结构,用XML表示。

步骤#4:最后,[Serialising XLST]根据其XML化版本创建你的FF。

这种架构的主要优点是它(1)开放性 - 主要部分在XSLT中,可以使用各种XML / XLST库用任何编程语言执行,以及它的(2)可扩展性,最后,你将任何格式转换为任何格式; - )

如果您可以上传某个940消息的简单示例实例并将其转换为您的FF结构 - 您应该使用记事本手动执行;-) - 我可能有时间来说明我的技术 - 至少给你一个需要3个XLST脚本; - )

答案 1 :(得分:1)

将EDI消息转换为平面文件是一个坏主意,您可能会丢失数据和消息含义。这就是EDI首先存在的原因

解析EDI的一些想法

http://www.codeproject.com/KB/XML/edix.aspx

http://www.edidev.com/index.htm

或Microsoft BizTalk也有此连接器