什么是解析XML的简单方法在存储的Proc/SQLRPGLE中?我可以在Iseries中使用XSLT吗?

问题描述:

我有一个存储过程,它接收XML输入。我需要做的是创建XML转换成另一种形式是适用于另一个系统(从输入XML数据)什么是解析XML的简单方法在存储的Proc/SQLRPGLE中?我可以在Iseries中使用XSLT吗?

我想出了2个选择这样做,但都是费力什么。 1.以XML的形式创建一个DS并执行'XML-INTO'来解析数据。然后创建新的XML 2.使用XMLTABLE解析出数据。

有用来创建新的XML一个更简单的方法。我的团队中的一位资深人士建议使用XSLT。这可能在我吗?

+0

我在iseries上使用xslt将xml转换成csv,然后我将它导入到表中。像STRQSH xsltproc mytemp.xsl mytarget.xml -o myresult.csv。我不把公司形式的公司带到公司,所以我不能确定我是否记得正确,否则我会发布一个答案。 – danny117

XSLT应该是可用的,如果不出意外,IBM i有node.js的可用和快速搜索变成了一个XSLT包节点。

不知道为什么你找到XMLTABLE费力......而且考虑到这股与XSLT相同的功能,我想像XSLT也不会有什么好。

您还忘了一个选项,RPG IV提供XML-SAX操作码也;这显然使用SAX解析器与XML-INTO的DOM解析器。

提供有关文档的详细信息,以及如何需要通关数据,我们或许可以提供更多的指导。

+0

感谢Charles ..所以基本上,我将从第三方获取XML,解析它并为不同的第三方创建不同的XML。因此,输入XML将在Stored Proc中接收,我将使用它来解析它一个DS ...现在的问题是用这些数据创建一个新的XML。一种方法是对XML结构进行重新编码(无论是在程序中,还是在MSGF或IFS中),并仅用它来填充程序中的值。但是,我正在寻找一种软编码创建XML的方法。也许使用XMLForest(沿着这条线)... –

+0

只有XMLFOREST我熟悉的是SQL函数...您可以使用XMLTABLE将XML分割成表格,然后使用XMLFOREST和其他XML发布函数来构建新的XML。没有看到如何避免_hard coding_输出结构...除非你想查找一个DTD并为此生成一个有效的XM ......似乎是过度杀伤,除非DTD经常变化......而你'd仍然需要硬编码地图itemno = itemnum或什么不... – Charles