Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
在RPGLE中使用XML函数(XMLAGG)_Xml_Ibm Midrange_Rpgle - Fatal编程技术网

在RPGLE中使用XML函数(XMLAGG)

在RPGLE中使用XML函数(XMLAGG),xml,ibm-midrange,rpgle,Xml,Ibm Midrange,Rpgle,我有一个表(TableA),从中我从它的两个字段(Fld1和Fld2)创建了一个XML 输出如下: <Tag><PARTNUMBER>401791</PARTNUMBER><PART_DESCRIPTION>ECM-NO START,ME17</PART_DESCRIPTION></Tag><Tag><PARTNUMBER>401792</PARTNUMBER><PART_DESCR

我有一个表(TableA),从中我从它的两个字段(Fld1和Fld2)创建了一个XML

输出如下:

<Tag><PARTNUMBER>401791</PARTNUMBER><PART_DESCRIPTION>ECM-NO START,ME17</PART_DESCRIPTION></Tag><Tag><PARTNUMBER>401792</PARTNUMBER><PART_DESCRIPTION>CALIBRATION-111,IND,18,NA</PART_DESCRIPTION></Tag>
 <Tag><PARTNUMBER>401791</PARTNUMBER><PART_DESCRIPTION>ECM-NO> START,ME17</PART_DESCRIPTION><PARTNUMBER>401792</PARTNUMBER><PART_DESCRIPTION>CALIBRATION-111,IND,18,NA</PART_DESCRIPTION></Tag>
401791ECM-无启动,ME17401792校准-111,印第安纳州,18
现在我的要求是,这只应该来一次。它应该绑定整个XML,而不是每一行

所需输出应如下所示:

<Tag><PARTNUMBER>401791</PARTNUMBER><PART_DESCRIPTION>ECM-NO START,ME17</PART_DESCRIPTION></Tag><Tag><PARTNUMBER>401792</PARTNUMBER><PART_DESCRIPTION>CALIBRATION-111,IND,18,NA</PART_DESCRIPTION></Tag>
 <Tag><PARTNUMBER>401791</PARTNUMBER><PART_DESCRIPTION>ECM-NO> START,ME17</PART_DESCRIPTION><PARTNUMBER>401792</PARTNUMBER><PART_DESCRIPTION>CALIBRATION-111,IND,18,NA</PART_DESCRIPTION></Tag>
401791ECM-NO>启动,ME17401792校准-111,印第安纳州印第安纳州18号

请帮忙

对于您所请求的输出,这应该可以做到这一点

    SELECT 
        XMLELEMENT(NAME "TAG",
            XMLAGG(
                XMLFOREST(RTRIM(Fld1) AS "PARTNUMBER",
                          RTRIM(Fld2) AS "PART_DESCRIPTION"
                )
            )
        )

        AS XML_EXAMPLE 
     FROM TableA
现在,在生成该语句之后,可以将其放入另一个select语句中,并使用XMLSERIALIZE在开始时添加所需的内容

另外,这里是关于上述三个XML函数的IBM文档

XMLELEMENT:

XMLAGG:


XMLFOREST:

对于您请求的输出,这应该可以做到这一点

    SELECT 
        XMLELEMENT(NAME "TAG",
            XMLAGG(
                XMLFOREST(RTRIM(Fld1) AS "PARTNUMBER",
                          RTRIM(Fld2) AS "PART_DESCRIPTION"
                )
            )
        )

        AS XML_EXAMPLE 
     FROM TableA
现在,在生成该语句之后,可以将其放入另一个select语句中,并使用XMLSERIALIZE在开始时添加所需的内容

另外,这里是关于上述三个XML函数的IBM文档

XMLELEMENT:

XMLAGG:


XMLFOREST:

回答不错,但文档错误,OP的用户名和使用的标记表明他正在使用Db2 for IBM i。。。谢谢你。。那很有魅力。。我应该先把问题贴在这里,这样我就可以节省几个小时了。。感谢您提供了一个很好的答案,但文档错误,OP的用户名和使用的标记表明他正在使用Db2 for IBM i。。。谢谢你。。那很有魅力。。我应该先把问题贴在这里,这样我就可以节省几个小时了。。谢谢