xml - 在 RPGLE 中使用 XML 函数 (XMLAGG)
问题描述
我有一个表(TableA),我从它的 2 个字段(Fld1 和 Fld2)创建一个 XML
select
XMLSERIALIZE(
XMLAGG(
XmlElement(Name "Tag",
XmlElement(Name "PARTNUMBER", RTrim(Fld1)),
XmlElement(Name "PART_DESCRIPTION", RTrim(Fld2)))
)
AS varchar(2000) )
From TableA
输出如下:
<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>
现在我的要求是应该只来一次。它应该绑定整个 XML 而不是每一行。
所需的输出应如下所示:
<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>
请帮忙!
解决方案
对于您请求的输出,这应该可以解决问题...
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:https ://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/db2/rbafzscaxmlelem.htm
XMLAGG:https ://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/db2/rbafzcolxmlagg.htm
XMLFOREST:https ://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/db2/rbafzscaxmlforest.htm
推荐阅读
- php - SQLSTATE [HY093]:无效的参数号:参数未在发布请求中定义
- scala - 如何在运行时在scala中查找类参数数据类型
- navision - 如何使用 Import-NAVApplicationObject 命令使用导出的 *.fob 更新 NAV2018
- excel - 如何将两个表合并为一个完整的表并使用标准一起删除重复项
- c - 我试图将一个 txt 文件读入一个链表,其中包含一行中的整数和字符串,用逗号分隔
- python - Python tkinter 创建具有不同图层的图像?
- node.js - 服务器启动失败,出现“必须定义 apiKey 值!”
- python - 区域质心内的skimage
- java - 如何从 java 代码修改现有的 docker-compose 文件
- wso2 - WSO2 如何从具有相同有效负载的多个端点收集多个设备?