首页 > 解决方案 > 如何使用 EDI.Net 解析包含多个项目的 EDIfact 文件?

问题描述

我正在使用来自indice -co 的 EDI.Net,并且我有一个包含多个项目的 EDI 文件,当我使用 EdiGrammer.NewEdiFact 并使用流读取文件并对其进行反序列化时,我从文件中只得到一个项目,最顶部;如何使用流读取文件并将其反序列化为列表?

代码示例:

 var editFactParser = EdiGrammar.NewEdiFact();




        var interchange = default(EdiModel.Interchange);
        using (
            var stream = File.Open("E:\\SomePath\\20191121020103.00000091.EDI", FileMode.Open,
                FileAccess.Read))
        {
            interchange = new EdiSerializer().Deserialize<EdiModel.Interchange>(new StreamReader(stream),
                editFactParser );
        }

EdiFact 文件内容

UNA:+.? 'UNB+UNOA:2+DHLEUAPGW+CENTIRO+191030:1347+203516'UNH+240179+IFTSTA:D:01B:UN'BGM+77+9690108+9'DTM+9:201910301347:203'NAD+CZ+9690108'CNI+1+1032173'LOC+5+AMS::87'LOC+8+AMS::87'STS++PU+:::SHIPMENT PICKUP'RFF+CN:1297617'DTM+11:20191030:102'DTM+7:201910301329:203'GID++1'PCI+18'GIN+BN+10321732'UNT+15+240179'UNH+240180+IFTSTA:D:01B:UN'BGM+77+9690108+9'DTM+9:201910301347:203'NAD+CZ+96901083'CNI+1+2598018'LOC+5+ORY::87'LOC+8+AMS::87'STS++PL+:::PROCESSED AT LOCATION'RFF+CN:116775116'DTM+11:20191029:102'DTM+7:201910301336:203'GID++1'PCI+18'GIN+BN+2598018043'CNI+2+4911357323'LOC+5+CDG::87'LOC+8+AMS::87'STS++PL+:::PROCESSED AT LOCATION'RFF+CN:1286700'DTM+11:20191029:102'DTM+7:201910301339:203'GID++1'PCI+18'GIN+BN+49113573'CNI+3+4911401'LOC+5+CDG::87'LOC+8+AMS::87'STS++PL+:::PROCESSED AT LOCATION'RFF+CN:129007'DTM+11:20191029:102'DTM+7:201910301337:203'GID++1'PCI+18'GIN+BN+49114019'CNI+4+6194460'LOC+5+BRU::87'LOC+8+AMS::87'STS++PL+:::PROCESSED AT LOCATION'RFF+CN:127214241'DTM+11:20191029:102'DTM+7:201910301339:203'GID++1'PCI+18'GIN+BN+6194460856'CNI+5+7525715'LOC+5+ORY::87'LOC+8+AMS::87'STS++PL+:::PROCESSED AT LOCATION'RFF+CN:ECONOCOM'DTM+11:20191029:102'DTM+7:201910301336:203'GID++1'PCI+18'GIN+BN+75257154'CNI+6+752571'LOC+5+ORY::87'LOC+8+AMS::87'STS++PL+:::PROCESSED AT LOCATION'RFF+CN:ECONOCOM'DTM+11:20191029:102'DTM+7:201910301339:203'GID++1'PCI+18'GIN+BN+7525715'UNT+65+240180'UNZ+2+203516'

标签: ediedifactedi.net

解决方案


抱歉回复晚了,我能够解决它,这是一个问题,我如何访问这些段以及我试图取回哪些数据,经过更多的跟踪和错误,我能够弄清楚,我目前无权访问该代码,并会在我找到它时尝试将其发布回此处。谢谢你。


推荐阅读