我正在寻找任何有用的链接或建议,将传入的EDI 940(X12)转换为c#.net中的(|)管道分隔的平面文件
答案 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也有此连接器