Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在存储的Proc/SQLRPGLE中解析XML的简单方法是什么?我可以在Iseries中使用XSLT吗?_Xml_Xslt 1.0_Ibm Midrange_Rpgle - Fatal编程技术网

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

在存储的Proc/SQLRPGLE中解析XML的简单方法是什么?我可以在Iseries中使用XSLT吗?,xml,xslt-1.0,ibm-midrange,rpgle,Xml,Xslt 1.0,Ibm Midrange,Rpgle,我有一个以XML形式接收输入的存储过程。我需要做什么来将XML创建成适合于另一个系统的另一种形式(使用来自输入XML的数据) 我想出了两种方法来做这件事,但都很费劲。 1.以XML的形式创建DS,并执行“XML-INTO”来解析数据。然后创建新的XML 2.使用XMLTABLE解析数据 有没有更简单的方法来创建新的XML。我的团队中的一位资深成员建议使用XSLT。这在i中可能吗?XSLT应该是可用的,如果没有其他内容,IBMi有node.js可用,快速搜索会找到node的XSLT包 不知道为什么

我有一个以XML形式接收输入的存储过程。我需要做什么来将XML创建成适合于另一个系统的另一种形式(使用来自输入XML的数据)

我想出了两种方法来做这件事,但都很费劲。 1.以XML的形式创建DS,并执行“XML-INTO”来解析数据。然后创建新的XML 2.使用XMLTABLE解析数据


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

XSLT应该是可用的,如果没有其他内容,IBMi有node.js可用,快速搜索会找到node的XSLT包

不知道为什么您会觉得XMLTABLE很费劲……而且鉴于它与XSLT共享相同的功能,我认为XSLT不会更好

您还忘记了一个选项,RPG IV还提供了
XML-SAX
op代码;它显然使用SAX解析器而不是
XML-INTO
的DOM解析器


有了关于文档的更多信息,以及您需要如何传递数据,我们可能会提供更多指导

我在iseries上使用xslt将xml转换为csv,然后将其导入到表中。类似于STRQSH xsltproc mytemp.xsl mytarget.xml-o myresult.csv的内容。我不会把公司的资料带到公司,所以我不能确定我记的是否正确,否则我会发布一个答案。谢谢查尔斯。。因此,基本上,我将从第三方获取一个XML,解析它,并为不同的第三方创建一个不同的XML。。所以输入XML将在存储过程中接收,我将使用DS解析它。。。现在的问题是用这些数据创建一个新的XML。一种方法是对XML结构进行编码(在程序中,或者在MSGF或IFS中),并使用它来填充程序中的值。但是,我一直在寻找一种方法来对XML的创建进行软编码。也许使用XMLForest(沿着这条思路)…我熟悉的唯一XMLForest是SQL函数…您可以使用XMLTABLE将XML切片到一个表中,然后使用XMLForest和其他XML发布函数来构建新的XML。不知道如何对输出结构进行硬编码…除非您想查找DTD并为此生成有效的XM。。。除非DTD经常更改,否则这似乎有些过头了…而且您仍然需要硬编码映射itemno=itemnum或其他什么。。。