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