我需要从一个复杂的COBOL结构(大型机)生成一个xml文件。我不能使用XML GENERATE cobol函数,因为数据树太大,无法放入W-S (大约8个嵌套数组,每个数组大约75次出现30个字节),所以没有一个组项可以传递给xml generate函数。
我能想到的唯一选择是“手动”地生成xml,方法是逐层遍历所需的adabas表的层次结构并填充文件,对我来说,这个选项的问题是我不知道如何在每次都遍历文件并“嵌套”下一个节点。
有没有更好的方法?
数据来自ADABAS表,我也可以使用natural,有没有更好的解决方案?据我所知,自然不允许嵌套超过3层,这对我来说是一个问题。
谢谢!
发布于 2016-08-25 19:05:45
我不能给出一个明确的答案;一些评论:
我用Java写了一个Cobol to XML utility。它采用Cobol数据文件+ Cobol Copybook并将其转换为XM。该实用程序允许您在不同的Cobol-Records之间定义层次结构,因此您可以使用“嵌套”Cobol-Records,而不是使用嵌套数组。我的Cobol to XML utility可能很难适应你的抄写本的大小。但是这类实用程序非常容易编写。
通过以下方式将我Cobol复制到Xml实用程序应该相当容易
对于任何一种解决方案,我都会使用Cobol-Copybook的格式的版本,例如
Cobol Compiler.
时生成的映射
此answer与您的问题无关,但它确实演示了可以从Cobol Copybook生成的内容。在这种情况下,他生成:
二进制Copybook
中加载Cobol数据文件的VBA代码
发布于 2016-08-25 17:07:53
所以有两个想法:
如果可能的话,如果你的树被necessary.
发布于 2017-01-18 20:54:32
Redvers COBOL XML接口使用迭代点和对生成器子例程的多次调用来处理非常大和复杂的副本。您可以将初始数据集移动到copybook,调用,然后移动下一组数据并再次调用。XML输出显然将是一个非常大的字符串,但您也可以在可管理的块中卸载它。
https://stackoverflow.com/questions/39124572
复制相似问题