PL/SQL 編碼 / 解析 XML
sample code 如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | DECLARE v_xmldoc VARCHAR2(1000); BEGIN -- 將資料編碼為 XML DOC 結構 dbms_output.put_line('-- 顯示編碼結果 --'); SELECT dbms_xmlgen.getxmltype(' select 123 col1, 456 col2 from dual union select 789 col1, 159 col2 from dual ').getclobval() INTO v_xmldoc FROM dual; -- 測試編碼結果 dbms_output.put_line(v_xmldoc); --- 解析資料, 可將單一 xml string/files 重組為 table dbms_output.put_line('-- 顯示解析結果 --'); FOR rr IN (SELECT extractvalue(column_value, '/ROW/COL1') column1, extractvalue(column_value, '/ROW/COL2') column2 FROM TABLE(xmlsequence(EXTRACT(xmltype(v_xmldoc), '/ROWSET/ROW'))) tab) LOOP dbms_output.put_line(rr.column1 || ', ' || rr.column2); END LOOP; END; |
相關網站資訊: Martin Mareš : blog