EDI файл в плоский файл с разделителями - PullRequest
3 голосов
/ 03 марта 2010

Мне нужны какие-либо полезные ссылки или советы по переводу входящего EDI 940 (X12) в плоский файл (|) с разделителями в формате c # .net

Ответы [ 2 ]

2 голосов
/ 03 марта 2010

Моя техника может показаться довольно тяжелой для одноразового перевода, но вот она:

Шаг # 1: X12 ------------- [Программа предварительного анализа] ---> Синтаксис X12 XML

Шаг № 2: Синтаксис X12 XML -> [940 Parsing XSLT] ------> 940 XML

Шаг № 3: 940 XML --------> [Отображение XSLT] ----------> ваш FF XML

Шаг № 4: ваш FF XML ----> [Сериализация XLST] ------> ваш FF

Шаг # 1: «Синтаксис X12 XML» - это очень простая грамматика, показывающая только Синтаксис X12, поэтому [Программа предварительного анализа] чрезвычайно проста и может использоваться для любого X12.

Шаг # 2: «940 XML» имеет грамматику, которая полностью раскрывает структуру 940. [940 Parsing XSLT] - это место, где вы выражаете специфическую структуру 940.

Шаг № 3: [Mapping XSLT] преобразует структуру 940 в структуру вашего FF, выраженную в XML.

Шаг # 4: Наконец, [Serialising XLST] создает ваш FF на основе его XML-версии.

Основным преимуществом этой архитектуры является ее (1) открытость - основные части в XSLT могут выполняться на любом языке программирования с использованием различных библиотек XML / XLST, а его (2) масштабируемость, в конце концов, вы преобразовать любой формат в любой формат; -)

Если бы вы могли загрузить где-нибудь простой пример сообщения 940 И его перевод в вашу структуру FF - что вы должны сделать вручную с помощью Блокнота ;-) - у меня могло бы быть время проиллюстрировать мою технику - по крайней мере, дать вам Необходимы 3 сценария XLST; -)

1 голос
/ 03 марта 2010

Преобразование EDI-сообщения в обычный файл - плохая идея, вы, вероятно, потеряете смысл данных и сообщений. Вот почему EDI существует в первую очередь

Некоторые идеи для разбора EDI

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

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

Или Microsoft BizTalk также имеет разъемы для этого

...