3

首先,如果我使用了错误的词汇,让我道歉,因为我对 COBOL 不太熟悉。我们正在尝试从 COBOL 中的固定数据结构生成 xml 文档。这很好用,使用 GENERATE 语句,但我们有一个问题。

如果数据如下:

First;Second;Age;Optional
JOHN;SNOW;18;Something
JOHN;DOE;45;Nothing
JOHN;ISSUE;30;

然后生成的xml如下所示:

<Persons>
   <Person First="JOHN" Second="SNOW" Age="18" Optional="Something"/>
   <Person First="JOHN" Second="DOE" Age="45" Optional="Nothing"/>
   <Person First="JOHN" Second="ISSUE" Age="18" Optional=""/>
</Persons>

当我们希望生成器在属性为空时不创建属性时:

<Persons>
   <Person First="JOHN" Second="SNOW" Age="18" Optional="Something"/>
   <Person First="JOHN" Second="DOE" Age="45" Optional="Nothing"/>
   <Person First="JOHN" Second="ISSUE" Age="18" />
</Persons>

有没有简单的方法来实现这一点?一直在 IBM 文档和谷歌上四处寻找,但没有运气。

4

2 回答 2

2

我们已经成功地将OCCURS 0 到 1 DEPENDING var用于可选项目。我们将 var 设置为 0 或 1,具体取决于所指对象是否存在。

这是一个杂物。现有的 SHARE要求使 kludge 变得不必要;我希望该功能在v.Next COBOL 编译器中。

于 2012-10-24T17:33:47.253 回答
0

在我看来,更简单的方法是使用 XML PARSE 动词为您的模式编写一个漂亮的打印机自定义。执行 GENERATE,然后通过漂亮的打印机将其输入以应用您的特定规则来生成最终输出。

于 2012-10-25T04:04:06.800 回答