- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们是一家使用现代技术(如 XML 接口(interface))的现代公司,但我们的许多客户都希望我们提供 EDIFACT 格式(如 D96A)的电子发票。
不,我们不能使用现有的库,因为它们不是用我们的 Navision 软件使用的 C/AL 编程语言编写的。
因此,为了在 C/AL 中解析它,我需要了解它的规范。但它看起来非常困难和复杂。
那么有人可以给我一个概述如何解释说 D96A 以及如何解析它吗?
最佳答案
解析EDIFACT其实没那么复杂。只需在语法字符处拆分:首先在 '
获取段,而不是 +
在 :
处获取该段的数据元素获取各个组件。当然,您需要处理转义的分隔符。这里使用的字符只是默认值,它们可以在消息的开头通过可选的 UNA 段进行更改。实际上是wikipedia article on EDIFACT 对此给出了很好的(但简短的)介绍。格式在 UN's UNECE site 上有详细记录。 (是的,这很多且难以阅读)。
棘手的部分是从中获取信息并进入您的应用程序(并验证它是否有效,更不用说创建好的错误消息了)。如果你真的打算用任何语言从无到有地编写一个完整的解析器,那么:不,没有简单的方法可以做到这一点。也没有任何其他灵活的数据表示。这是一项艰巨的任务,而且永远都是。
但这里有一个想法:如果您对 XML 感兴趣(或者您喜欢称之为的任何其他“现代技术”......)。编写一些将 EDIFACT 消息转换为某种统一的 XML-EDIFACT-Format 的程序将是一项相对容易的任务(这是一件非常可怕的事情,很可能会吓到我)。您可以将每个 EDIFACT 段转换为一个 XML 标记,可能像这样:
ERC+A7V:1:AMD'
IFT+3+NO MORE FLIGHTS'
<segment qualifier="ERC">
<element>
<component>A7V</component>
<component>1</component>
<component>AMD<component>
</element>
</segment>
<segment qualifier="IFT">
<element>
<component>3</component>
</element>
<element>
<component>NO MORE FLIGHTS</component>
</element>
</segment>
<segment_ERC>
<element>
<component>A7V</component>
<component>1</component>
<component>AMD<component>
</element>
</segment_ERC>
<segment_IFT>
<element>
<component>3</component>
</element>
<element>
<component>NO MORE FLIGHTS</component>
</element>
</segment_IFT>
UNG
、
UNH
等,还有一些你没有直接看到的段组)。
关于edifact - 是否有一种非常简单的方法来处理 EDIFACT,例如 D96A?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11295551/
我刚开始阅读 EDI FACT 消息。只是陷入对释放字符的理解(?)。 从谷歌得到这个定义 This is a single character, which overrides the meanin
我们是一家使用现代技术(如 XML 接口(interface))的现代公司,但我们的许多客户都希望我们提供 EDIFACT 格式(如 D96A)的电子发票。 不,我们不能使用现有的库,因为它们不是用我
我们需要为客户处理一些 EDI 消息,我想知道你们中是否有人可以推荐一些可以完成任务的组件(不一定是免费的)。 我对可以将 EDI 消息解析为 .NET 结构和某种传输协议(protocol)(SMT
我使用 EDIFACT 消息并开发了许多工具来帮助我解析和提取原始文件格式的相关信息。 我一直在努力解决的问题是呈现原始的 EDIFACT。我通常只是将消息复制到 Microsoft Word 中,查
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
我正在尝试使用 java 映射 EDIFACT 文件。 我使用的数据已编码,如下所示:UNBIATB11AMS135682300687X 我期待这种格式:UNH+1+SBRRES:09:3:1A' 谁
我有一个忘恩负义的任务来修复旧的antlr2解析器中的错误,该解析器用于解析edifact文件。不幸的是,我对antlr2或解析器不太熟悉,我无法让它工作。 edifact 文件如下所示: ABC+N
我正在 EDIFACT 和 X12 中寻找至少一个示例文件,分别显示 二元 shell 。 EDIFACT 应该包括包裹在 UNO/UNP 段中的数据,而 X12 需要使用二进制段 BIN 或 BDS
我在从通过 EDI 发送的 .txt 文件检索交货日期时遇到问题。 我的客户有机会在 .txt 文件中设置该行: 'DTM+76:20160702:102 当他们从网站订购商品时,为将来的交货设置交货
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我正在开发一个可以通过邮件发送 EDIFACT 消息的应用程序。发送和接收邮件没有问题,接收 EDIFACT 消息(由另一个应用程序发送)也可以。 EDIFACT 是一种发送企业间信息(例如发票)的标
是否有任何开源 java 库可以解析 ANSI X12 和 UN/EDIFACT 标准的 EDI 文件?我找到了 smooks (http://www.smooks.org),它支持 UN/EDIFA
我是一名优秀的程序员,十分优秀!