首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从oracle中提取clob XML属性名列表

如何从oracle中提取clob XML属性名列表
EN

Stack Overflow用户
提问于 2016-02-16 19:32:33
回答 2查看 3.2K关注 0票数 0

我需要通过从oracle 11g中的clob数据中提取xml元素名称来生成报告。Product表将其属性存储为clob XML,其中可以存储多个属性。以以下格式存储的值:

200.0制造商1235/V

这里我需要一个报告,其中应该包含属性名称,如返利,SellerOwnerID,SellerOwnerValue。我可以提取clob数据,但我不知道如何获取属性名称列表。

EN

回答 2

Stack Overflow用户

发布于 2016-02-16 19:52:37

执行以下查询以获得所需的输出

代码语言:javascript
运行
复制
SELECT EXTRACTVALUE (COLUMN_VALUE, '/attr/@name') attribute,
       EXTRACTVALUE (COLUMN_VALUE, '/attr/double') double,
       EXTRACTVALUE (COLUMN_VALUE, '/attr/string') string
  FROM TABLE(XMLSEQUENCE(EXTRACT(XMLTYPE('<attrs><attr name="Rebate"><double>200.0</double></attr><attr name="SellerOwnerID"><string>Manufacturer</string></attr><attr name="SellerOwnerValue"><string>1235/V</string></attr></attrs>'),'/attrs/attr')))
票数 0
EN

Stack Overflow用户

发布于 2016-02-16 20:27:02

代码语言:javascript
运行
复制
with abc as ( select * from  
(select 'Prod1' prod_name,xmltype('<attrs><attr name="Rebate"><double>200.0</double></attr><attr name="SellerOwnerID"><string>Manufacturer</string></attr><attr name="SellerOwnerValue"><string>1235/V</string></attr></attrs>') xxx from dual
union all 
select 'Prod2',xmltype('<attrs><attr name="Rebate"><double>200.0</double></attr><attr name="SellerOwnerID"><string>Manufacturer</string></attr><attr name="SellerOwnerValue"><string>1235/V</string></attr><attr name="Rebate"><double>200.0</double></attr><attr name="SellerOwnerID"><string>Manufacturer</string></attr><attr name="SellerOwnerValue"><string>1235/V</string></attr></attrs>') from dual
))
select prod_name,attr_name,attr_type,attr_value from abc,xmltable('attrs/attr'
                passing  abc.xxx
                columns
                    attr_name varchar2(30) path '@name',
                    attr_type varchar2(30) path '*/name()',
                    attr_value varchar2(30) path '*/text()'
                      );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35431445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档