6

Java中有没有可以处理Walmart 810规范的好的X12解析器?

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
4

5 回答 5

7

试试这个,编辑器

解析器通过检查区分 ANSI X.12 和 EDIFACT EDI 标准,并使用工厂模式来构造适当的解析器子类。

解析器可以像 XML 解析器一样嵌入到 Java 应用程序中,避免了传统 EDI 翻译器经常使用的基于文件的专有接口。

于 2012-06-18T06:47:29.343 回答
3

尝试使用Smooks。从页面:

Smooks 是一个可扩展的框架,用于构建使用 Java 处理 XML 和非 XML 数据(CSV、EDI、Java 等)的应用程序。

于 2012-06-18T06:43:45.013 回答
0

你可以试试机器人:http ://bots.sourceforge.net 它不是java,而是python。它不是一个“图书馆”,而是一个应用程序。处理 x12 OK,包括 810。您可以将其翻译成您需要的格式(xml、csv、平面文件)

于 2012-07-12T14:46:53.510 回答
0

如果您对商业产品持开放态度,请查看Oakland Data Transformer。它是用 Java 编写的,有一个基于 Eclipse 的设计器,以及一个 Java API 或与 Apache Camel、Mule ESB 和 OSGi 蓝图的集成。您可以轻松地将其以图形方式映射到 XML、数据库、Java 对象或其他东西。

下载时需要联系 Oakland Software 以获取您正在使用的 X12 4010 810 的规格。

于 2012-06-24T03:25:25.447 回答
0

我们可以使用 apache camel,camel 是非常简单且可扩展的解决方案,

这将给出一个 json 对象,然后我们可以解析 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");
于 2016-07-15T06:15:33.630 回答