首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法读取EDI文件

无法读取EDI文件
EN

Stack Overflow用户
提问于 2016-03-03 18:56:35
回答 1查看 1.3K关注 0票数 2

当EDI文件格式化为可读性时,我可以使用Smooks (1.5)读取EDI文件

代码语言:javascript
运行
复制
ISA*SD*          *DFDF*          *SDFDSF*FHGFH       *44*GHGHGHG       *GHGH*GHGHGH*^*GHGHG*46345345*B*4*:~ 
GS*SS*2323*23232*232323*32323*1*X*FDFGDFGDF~
GE*YTRY*DF~ 
IEA*DF*DGHJGHHGG~

要阅读这篇文章,我使用了以下配置

代码语言:javascript
运行
复制
<medi:delimiters segment="&#10;" field="*" 
    component="^" sub-component="~" escape="?" />

但是,当我试图读取具有相同分隔符配置的下面的EDI (未格式化EDI)段时,它失败了。

代码语言:javascript
运行
复制
ISA*SD*          *DFDF*          *SDFDSF*FHGFH       *44*GHGHGHG       *GHGH*GHGHGH*^*GHGHG*46345345*B*4*:~GS*SS*2323*23232*232323*32323*1*X*FDFGDFGDF~GE*YTRY*DF~IEA*DF*DGHJGHHGG~

这里的问题是,所有的段代码都在同一条线上。我知道为什么它不能读取EDI段,因为配置segment="&#10“而失败。是否可以读取这些类型的EDI消息。或者这是不现实的EDI信息?我相信按照EDI X12标准,传输返回和行提要不是必需字符。我想知道如何读取这个未格式化的EDI,以及如何为这个未格式化的EDI配置分隔符。

EN

回答 1

Stack Overflow用户

发布于 2016-03-14 15:08:28

您的ISA段无效:

  • ISA03的值为"DFDF",但不应超过2个字符。
  • ISA05的值为"SDFDSF",但不应超过2个字符。
  • ISA06的值为"FHGFH ",长度为12个字符,但应该为15 (包括whitespacE)。
  • ISA08和ISA13也是一个太短的字符

这就抛出了整个段,从"I“到段终止符应该是,确切地说是106个字符(不包括可选的尾随\r\n),但最终得到108个字符(同样,不包括回车或行提要)。ISA段是唯一有这些限制的部分--如果它关闭,解析器将不知道如何解析文件的其余部分。我怀疑你编辑了你的ISA试图匿名,但你几乎肯定有同样的问题(或其中一些)与你的尖锐的ISA -检查什么是106字符,你会发现它是一个\r (或ASCII 10),这就是为什么Smooks把它作为你的片段终结者。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35780645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档