本文介绍使用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