【问题标题】:Java XML to EDI designJava XML 到 EDI 设计
【发布时间】:2015-03-30 04:35:11
【问题描述】:

我需要将 XML 转换为 EDI。我已经搜索了很多完全满足我需求的开源免费库,但没有找到。

所以我决定编写自己的逻辑。

以下是我要执行的应用程序的要求。

应用程序的输入是:XML数据

应用程序的输出是:XML 数据的 EDI(电子数据交换)表示。

我必须对 XML 数据应用一些业务规则并生成 EDI 表示。

这是我的需求设计:

  • Java POJO,这里是源 POJO,用于表示 xml 数据。要将 xml 数据加载到 Source POJO 中,我使用的是 JAXB。
  • Java POJO,以下是 Target POJO,用于表示 EDI 模型。
  • 一个 Java 类,这里是 XmlToEDIBuilder,用于对业务规则进行编码
  • 最后,我使用 FreeMarker 模板从目标 POJO 中获取所需的 EDI 结构。

我的设计好看吗?任何建议都会对我有帮助。

【问题讨论】:

  • 我认为 FreeMarker 不能很好地处理 EDI。 EDI 库不是免费的,这是有原因的。没有人愿意免费维护他们应用程序中的标准。如果需要嵌入,您应该查看生成 Java 代码的 MapForce 或 Contivo 之类的映射器。或者您应该将另一个 EDI 映射器视为可扩展的独立解决方案。
  • @Ram,那你最后做了什么。我有一个相同的要求,我必须将 XML 转换为 EDI 834。如果您能在这里分享一些见解,将会非常有帮助

标签: java xml freemarker edi


【解决方案1】:

最近我有一个项目涉及到 edifact 解析和生成。 为此,我使用了http://www.smooks.org/ 框架。

使用上述框架,您的应用程序逻辑步骤可能如下:

  • 将 XML 解析为 POJO
  • 使用预编译的 smooks 组件和您的 POJO 来构建您想要的 edifact 版本

可以扩展 Smooks 组件以防需要某些自定义和/或客户特定的 edifact 格式。

以下是帮助您入门的用法示例:https://github.com/lunatech-labs/smooks-examples/blob/master/edifact-in-code-manipulation/src/main/java/example/Main.java

【讨论】:

    猜你喜欢
    • 2010-11-21
    • 2016-09-16
    • 2017-07-02
    • 2014-11-24
    • 2013-12-22
    • 2013-10-15
    • 2017-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多