如何通过xpath选择所有子标签名称?
我有一张这样的表:
CREATE TABLE Foo (
DATA VARCHAR2(4000) NOT NULL ENABLE
)
在DATA
中提供了一些XML数据,如下所示:
<foo>
<a>some</a>
<b>another</b>
<c>some else<c>
</foo>
我想从第二级提取所有标签:
select xmltype(DATA).extract('/foo/*').getRootElement() as MY_TAGS form Foo;
(我期待这样的清单)
a
b
c
但我得到了null
值的结果:
(null)
(null)
(null)
答案 0 :(得分:2)
select * from xmltable('foo/*' passing xmltype('<foo>
<a>some</a>
<b>another</b>
<c>some else</c>
</foo>')
columns
tag_name varchar2(100) path 'name()',
tag_value varchar2(100) path 'text()'
)