【发布时间】:2020-06-10 04:52:36
【问题描述】:
我正在尝试使用 GENERATE 语句在 COBOL 中创建一个 XML 文件。 到目前为止,一切都很好。 但是对于这个特定的 xml,它需要在其中包含一个单独的 xml 文件。所以我想在它周围使用 CDATA 标签。但是,有没有办法在 COBOL 中使用 GENERATE 语句来做到这一点?
这里是一个例子。
01 request.
06 route.
11 name PIC X(030).
11 version PIC 9(004).
06 question.
11 IDENT PIC 9(009).
11 xmlFileName PIC X(006).
11 xmlFileInh PIC X(5000).
xmlFileInh 需要填充另一个 XML 文件。这只能是 xml 或 soap 请求。
类似这样的:
<?xml version="1.0" encoding="UTF-8"?>
<request>
<route>
<name>serviceRequest</name>
<version>1</version>
</route>
<question>
<IDENT>111111111</IDENT>
<xmlFileName>FILE-1</xmlFileName>
<xmlFileInh>
<![CDATA[<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope.....<SOAP-ENV:Envelope]]>
</xmlFileInh>
</question>
</request>
我尝试在传入的 XML 文件周围串入"<![CDATA[" and "]]>",然后将其放入 xmlFileInh。这会做一些事情,但会将所有 HTML 控制字符呈现为我不想要的 xml 文件中的内容。 GENERATE 语句对 CDATA 没有任何作用。
< becomes <
> becomes >
" becomes "
' becomes '
& becomes &
我还尝试给 xmlFileInh 提供另一张图片,甚至键入 XML。这在我的 XML、名称长度和数据长度等中提供了许多新类型的标签,但我不想要。
有人有解决办法吗?
提前致谢 马丁。
【问题讨论】: