2010-01-12 9 views
10

Ban đầu tôi đã nghĩ đến việc sử dụng SSIS để phân tích cú pháp tệp EDI, tuy nhiên tôi đã thấy một vài trình phân tích cú pháp EDI thủ công (ánh xạ trường) và muốn sử dụng tự động chức năng này trong C#.Phân tích tệp tin EDI Flat với C#?

Ví dụ EDI File:

Example EDI File

+0

Thực ra những gì gần đây tôi đã phát hiện ra đó là định dạng EDI X12 820 4010 ... – ElHaix

Trả lời

0

Tôi không chắc chắn nếu bạn đang mở vào các công cụ thương mại, nhưng tôi ném liên kết này ra ở đây chỉ trong trường hợp. Nó có thể giúp ai đó. Tuyên bố từ chối trách nhiệm: Tôi không được kết nối theo bất kỳ cách nào với nhà cung cấp này.

KHUNG EDI - Công cụ EDI cho Programmer (Thương Khung) - Tìm nó ở đây: http://www.edidev.com/

1

này là dành cho X12 và làm việc khá tốt cho sử dụng của tôi:

http://x12parser.codeplex.com/

Đó là dòng lệnh, và chỉ xuất ra một tệp XML cho tệp EDI của bạn.

Bạn có thể thích ứng với mục đích của mình.

5

Có thư viện EDI.Net là nguồn mở và hỗ trợ cả ba định dạng EDI đã biết (X12, EDIFact, Tradacoms). Trong trường hợp của bạn cho X12, bạn cần cung cấp triển khai tùy chỉnh IEdiGrammar với các giá trị đặt trước sau.

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

Tuyên bố từ chối Tôi đã viết thư viện.

+0

Xin chào. Tôi muốn sử dụng thư viện của bạn nhưng có vẻ như tôi cần sử dụng ASP.net Core? Tôi nên sử dụng phiên bản khung công tác nào? Cảm ơn – Fandango68

+1

@ Fandango68 nó được xây dựng với các công cụ sdk dotnetcore mới nhưng nó không giới hạn ở đó. Nó có sẵn trong Full .Netframework 4.5 và mới hơn. Kiểm tra [khung được hỗ trợ trên nuget.org] (https://www.nuget.org/packages/indice.Edi/) để xem danh sách mở phần Phụ thuộc. – cleftheris