有没有在Java中任何好的X12分析器可以处理沃尔玛810规格?
EDI例如:
ISA*00* *00* *16*102096559TEST *14*PARTNERTEST *071214*1406*U*00040*810000263*1*T*>
GS*IN*102096559TEST*PARTNER*20071214*1406*810000263*X*004010
ST*810*0001
BIG*20050205*6463367*20050202*3376103367
REF*IA*123456170*X5T
REF*DP*00017
REF*MR*0020
N1*SU*SUPPLIER NAME
N1*ST*WAL-MART 100*UL*0078742000992
N3*406 SOUTH WALTON BLVD
N4*BENTONVILLE*AR*72712
ITD*05*15*****45
DTM*011*20050205
FOB*CC
IT1**1080*EA*3.61**IN*001719653*UP*022108955228*UK* 00221089552284
PID*F****ITEM DESCRIPTION
SAC*A*I410***2350*******02
TDS*387530
CAD*T***RDWT*ROADWAY**BM*123456789
ISS*1080*EA*100*LB
CTT*1
SE*19*0001
GE*1*810000263
IEA*1*810000263
试试这个, edireader
通过检查ANSI X.12和EDIFACT EDI标准之间的解析器加以区分,并使用一个工厂模式来构建一个适当的解析器子类。
解析器可以以同样的方式被嵌入Java应用程序中,你会XML解析器,避免了通常与传统的EDI翻译使用的基于文件的专用接口。
尝试使用Smooks的 。 从页面:
的Smooks是用于使用Java处理XML和非XML数据(CSV,EDI,爪哇等)构建应用程序的可扩展框架。
如果你是开放的商业产品,看看在奥克兰数据转换器 。 它是用Java编写的,有一个基于Eclipse的设计师,和Java API或集成与Apache骆驼,骡子ESB,和OSGi蓝图。 您可以轻松地以图形方式将其映射到XML,数据库,Java对象或其他东西。
您将需要联系奥克兰软件,当你下载它来获得规格为X12 4010 810这是你使用的是什么。
你可以尝试机器人: http://bots.sourceforge.net它不是Java,但是Python。 它不是一个“库”,但一个应用程序。 手柄X12 OK,含810你可以把它翻译成你需要的格式(XML,CSV,平面文件)
我们可以使用Apache的骆驼,骆驼是很容易的,这个扩展的解决方案,
这会给一个JSON对象,afterthat我们可以解析JSON对象然后得到的值。
XmlJsonDataFormat xmlJsonFormat = new XmlJsonDataFormat();
xmlJsonFormat.setEncoding("UTF-8");
xmlJsonFormat.setForceTopLevelObject(true);
xmlJsonFormat.setTrimSpaces(true);
xmlJsonFormat.setRootName("newRoot");
xmlJsonFormat.setSkipNamespaces(true);
xmlJsonFormat.setRemoveNamespacePrefixes(true);
// xmlJsonFormat.setExpandableProperties(Arrays.asList("d", "e"));
from("file:sftpdata/x12files")
.log("Before unmarshal with SmooksDataFormat:").log("${body}")
.unmarshal(new SmooksDataFormat("smooks-config1.xml"))
.log("After unmarshal with SmooksDataFormat:").log("${body}")
.marshal(xmlJsonFormat)
.log("After marshalling with Json library:").log("${body}")
.process(new X12Processor()).log("X12 file processed")
.to("mock:result");