我刚刚为客户做了这样的事情。显然我无法在这里发布他们的代码,但也许是我们所做工作的概述......
首先,我们创建了一个类似 JSON 的结构:一个包含 3 个字段的 Natural X-Array Group:
nson (1:*) /* X-Array
level-number (I1)
tag-name (A) DYNAMIC
tag-value (A) DYNAMIC
(我们使用 -ve level-number 来表示 - 0:n - XML-Attributes 用于前面的 +ve 级别)
为了填充 X 数组,我们使用了来自自然子程序和自然外部子程序(使用按值调用和可选参数)的全局数据区域以及用于典型数据转换的一些自然函数(例如打包或日期变量到字符串)
结果是类似于 XML 的自然代码,例如:
perform XML-at 2 'node-name' /* ABSOLUTE Level
perform XML-this 'tag-name' 'tag-value' /* Relative Level
perform XML-this 'node-name' /* Relative Level
perform XML-next 'tag-name' 'tag-value' /* Relative Level
perform XML-prev 'tag-name' P3(<-17.123>) /* Relative Level & Function for (Pnn.3)
然后我们通过 Natural-RPC 将其发布到 Java 服务,该服务从中构建 XML。
(在我们的例子中,我们使用了 XML 服务器端,但您可以将它返回给 Natural 在一个 DYNAMIC 变量中)