DECLARE l_operator VARCHAR2(100); l_year VARCHAR2(10); l_month VARCHAR2(10); l_xml_str VARCHAR2(4000); --xml字符串报文 l_xmltype xmltype; BEGIN --给定XML报文串 l_xml_str := '<?xml version="1.0" encoding="UTF-8"?> <XMLMSG> <INFO> <OPERATOR>SMILE</OPERATOR> <YEAR>2019</YEAR> <MONTH>12</MONTH> </INFO> <STRARRAYS> <STRARRAY> <ID>1</ID> <CODE>CODE1</CODE> <NAME>NAME1</NAME> </STRARRAY> <STRARRAY> <ID>2</ID> <CODE>CODE2</CODE> <NAME>NAME2</NAME> </STRARRAY> <STRARRAY> <ID>3</ID> <CODE>CODE3</CODE> <NAME>NAME3</NAME> </STRARRAY> </STRARRAYS> </XMLMSG>'; --将XML报文转换成xmltype类型,便于后续解析 l_xmltype := xmltype.createxml(l_xml_str); --普通简单的解析字段值 SELECT xmlt.operator ,xmlt.year ,xmlt.month INTO l_operator ,l_year ,l_month FROM xmltable('$root/XMLMSG/INFO' passing l_xmltype AS "root" columns operator VARCHAR2(500) path 'OPERATOR' ,YEAR VARCHAR2(500) path 'YEAR' ,MONTH VARCHAR2(500) path 'MONTH') AS xmlt; dbms_output.put_line('operator:' || l_operator || '--year:' || l_year || '--month:' || l_month); --遍历输出二维数组 FOR rec_list IN (SELECT xmlt.id ,xmlt.code ,xmlt.name INTO l_operator ,l_year ,l_month FROM xmltable('$root/XMLMSG/STRARRAYS/STRARRAY' passing l_xmltype AS "root" columns id VARCHAR2(500) path 'ID' ,code VARCHAR2(500) path 'CODE' ,NAME VARCHAR2(500) path 'NAME') AS xmlt) LOOP dbms_output.put_line(rec_list.id || '--' || rec_list.code || '--' || rec_list.name); END LOOP; EXCEPTION WHEN fnd_api.g_exc_error THEN dbms_output.put_line('error:' || SQLCODE || '--' || SQLERRM); WHEN fnd_api.g_exc_unexpected_error THEN dbms_output.put_line('Unexpected_error.' || SQLCODE || '--' || SQLERRM); WHEN OTHERS THEN dbms_output.put_line('Other error:' || SQLCODE || '--' || SQLERRM); END;
oracle 解析xml字符串常用脚本
来源:这里教程网
时间:2026-03-03 14:43:19
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 手机APP为什么要获取这3个权限?能不能随意授权呢?看完就知道了
手机APP为什么要获取这3个权限?能不能随意授权呢?看完就知道了
26-03-03 - Serverless 实战 —— 函数计算 + Typescript 实践
- 分布式事务 GTS 的价值和原理浅析
分布式事务 GTS 的价值和原理浅析
26-03-03 - 从零开始入门 | Kubernetes 中的服务发现与负载均衡
从零开始入门 | Kubernetes 中的服务发现与负载均衡
26-03-03 - 原来华为手机不亮屏也能看时间,点击这个按钮,30秒即可开启
原来华为手机不亮屏也能看时间,点击这个按钮,30秒即可开启
26-03-03 - 阿里云视频云正式支持AV1编码格式 为视频编码服务降本提效
阿里云视频云正式支持AV1编码格式 为视频编码服务降本提效
26-03-03 - 等保2.0正式实施,阿里云发布全国首个《阿里公共云用户等保2.0合规能力白皮书》
- 阿里云小程序营收3步曲:一年发展3家加盟+2家直营
阿里云小程序营收3步曲:一年发展3家加盟+2家直营
26-03-03 - 小米手机用户要知道的手机技巧,能大大提高使用体验,米粉都知道
小米手机用户要知道的手机技巧,能大大提高使用体验,米粉都知道
26-03-03 - 周末修裤子-生产遭遇ORA-00600 [kokasgi1]的恢复过程
周末修裤子-生产遭遇ORA-00600 [kokasgi1]的恢复过程
26-03-03
