How to extract repeatable json node values separately from XML using ORACLE SQL?

后端 未结 2 1112
暗喜
暗喜 2021-01-29 00:51

I have the following XML and i want to extract the values of json parameter \"serviceNumber\" separately i tried using EXTRACT function but i got the results co

相关标签:
2条回答
  • 2021-01-29 01:12

    Try XMLTABLE

    select * from xmltable(XMLNAMESPACES( 'http://www.ibm.com/xmlns/prod/2009/jsonx' as "json") , '//json:string[@name eq "serviceNumber"]' passing xmltype({your_xml_here})
     columns serviceNumber varchar2(100) path '.' 
     )
    
    0 讨论(0)
  • 2021-01-29 01:15

    Use XMLTABLE:

    SELECT x.serviceNumber
    FROM   your_table t
           CROSS JOIN
           XMLTABLE(
             XMLNAMESPACE( 'http://www.yourserver.url/json/' AS "json" ),
             '//root/Input/Body/json:object/json:array/json:object/'
             PASSING XMLTYPE(
               '<?xml version="1.0" encoding="utf-8"?>' ||
               '<root xmlns:json="http://www.yourserver.url/json/">' ||
               t.your_xml_column ||
               '</root>'
             )
             COLUMNS serviceNumber NUMBER PATH './json:string[@name="serviceNumber"]'
           ) x
    
    0 讨论(0)
提交回复
热议问题