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