oracle解析xml字符串常用脚本

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字符串常用脚本
URL标题:https://www.cdcxhl.com/article2/iiogic.html

成都网站建设公司_创新互联,为您提供微信公众号小程序开发品牌网站制作网站建设App设计App开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发