在RPGLE中使用XML函数(XMLAGG)
我有一个表(TableA),从中我从它的两个字段(Fld1和Fld2)创建了一个XML 输出如下:在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
<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。。。谢谢你。。那很有魅力。。我应该先把问题贴在这里,这样我就可以节省几个小时了。。谢谢