簡體   English   中英

如何使用帶有 java 的 smooks 將 json 轉換為 EDIFACT

[英]How to convert a json to EDIFACT using smooks with java

我發現的唯一方法是 edi 而不是 edifact,但是當我用 edifact 更改 smooks-config.xml 時

<smooks-resource-list
    xmlns="https://www.smooks.org/xsd/smooks-2.0.xsd"
    xmlns:edifact="https://www.smooks.org/xsd/smooks/edifact-2.0.xsd">

<edifact:unparser   unparseOnElement="/Order" schemaURI="/edi-to-xml-mapping.dfdl.xsd" segmentTerminator="%NL;" compositeDataElementSeparator="^"/>

<edifact:parser schemaURI="/edi-to-xml-order-mapping.dfdl.xsd" segmentTerminator="%NL;" dataElementSeparator="*"
                compositeDataElementSeparator="^"/>

我總是收到錯誤消息:架構定義錯誤:位置/EDIFACT-Interchange.dfdl.xsd 處沒有架構文檔。

Smooks EDI 盒文檔 中所述,應該導入EDIFACT-Messages.dfdl.xsd DFDL 架構。 例如:

<?xml version="1.0"?>
<smooks-resource-list xmlns="https://www.smooks.org/xsd/smooks-2.0.xsd"
                      xmlns:edifact="https://www.smooks.org/xsd/smooks/edifact-2.0.xsd">

    <edifact:parser schemaURI="/d03b/EDIFACT-Messages.dfdl.xsd"/>

    <edifact:unparser schemaURI="/d03b/EDIFACT-Messages.dfdl.xsd" unparseOnNode="/Interchange"/>

</smooks-resource-list>

確保相應的模式包在您的 Java 類路徑中。 上面例子的模式包 Maven 依賴聲明是:

<dependency>
  <groupId>org.smooks.cartridges.edi</groupId>
  <artifactId>edifact-schemas</artifactId>
  <version>2.0.0-M3</version>
  <classifier>d03b</classifier>
</dependency>

嘗試edigenerator.com ,接收任何數量的 #X12 或 #EDIFACT 文檔。 將它們翻譯成您喜歡的格式,例如 JSON、XML、CSV 等,然后只需點擊幾下即可推送到您的網絡掛鈎。

它比您當前的方法更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM