JTo*_*ler 2 java edi x12 smooks
当 EDI 文件被格式化为可读性时,我可以使用 Smooks (1.5) 读取该文件
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~
Run Code Online (Sandbox Code Playgroud)
为了阅读本文,我使用了以下配置
<medi:delimiters segment=" " field="*"
component="^" sub-component="~" escape="?" />
Run Code Online (Sandbox Code Playgroud)
但当我尝试读取以下具有相同分隔符配置的 EDI(未格式化 EDI)段时,它失败了
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~
Run Code Online (Sandbox Code Playgroud)
这里的问题是,所有段代码都在同一行。我知道它无法读取 EDI 段的原因。它失败是因为配置段=“ 
”。是否可以读取这些类型的 EDI 消息?或者这是不切实际的 EDI 消息?我相信 EDI X12 标准不需要回车符和换行符。我想知道如何读取此未格式化的 EDI 以及如何为此未格式化的 EDI 配置分隔符
您的 ISA 段无效:
"DFDF",但不应超过 2 个字符"SDFDSF",但不应超过 2 个字符"FHGFH ",长度为 12 个字符,但应为 15(包括空白)。这会导致整个段丢失,从“I”到段终止符应该正好是106 个字符(不包括可选的尾随\r\n),但最终得到 108 个字符(同样,不包括回车符或换行符)。ISA 段是唯一具有这些限制的段 - 如果它关闭,解析器将不知道如何解析文件的其余部分。我怀疑你编辑了你的 ISA 来尝试对其进行匿名化,但你几乎肯定与你的实际 ISA 存在相同的问题(或其中一些) - 检查第 106 个字符是什么,你会发现它是 a (\r或 ASCII 10) ,这就是 Smooks 将其作为段终止符的原因。
| 归档时间: |
|
| 查看次数: |
1554 次 |
| 最近记录: |