本文介紹使用EXTRACTVALUE函數及其他函數解析XML的方法。

注意事項

  • 在Oracle中支持使用EXTRACTVALUE函數來解析XML。
  • 在PolarDB O引擎中不支持使用EXTRACTVALUE函數。

代碼示例

在Oracle中使用EXTRACTVALUE函數解析XML,代碼示例如下:

SQL> set linesize 300;
SQL> select * from dbmgr.xmldemo;
         A B
---------- -------------------------------------------------------------------------------------------------------------
         6 <A>3</A>

SQL> select EXTRACTVALUE(xmltype(B),'/A') from dbmgr.xmldemo;EXTRACTVALUE(XMLTYPE(B),'/A')
------------------------------------------------------------------------------------------------------------------------
3

其他方案

在PolarDB O引擎中使用xpath函數解析XML文件,代碼示例如下:

van=> create table xmldemo
van=> ( 
          A NUMBER,
           B VARCHAR2(100)
         );
van=>  insert into xmldemo values(1,'first line');
INSERT 0 1
van=>  insert into xmldemo values(2,'line 2');
INSERT 0 1
van=> SELECT xpath('/a/text()',xmlforest(a AS A)) from xmldemo ;
 xpath
 ------- 
{1}
{2}
(2 rows)
van=> 

具體操作,請參見https://www.postgresql.org/docs/11/functions-xml.html