2016-08-04 42 views
0

我想提取存储在XMLDATA列中的XML数据 我的表FINAL_XML有以下列为CLOB XML

IDENTIFIERTYPE | IDENTIFIER | DATE  | XMLDATA 
-------------- | ---------- | --------- | ------- 
CONTACT  | 1   |0216-08-04 | CLOB, 4500 Bytes 

有没有写一个select语句,其将返回实际的XML树的方式选择查询?

感谢

+0

你是什么意思与“实际的XML树”?你需要一个XMLTYPE结果吗? – Aleksej

+0

是的。如果我从FINAL_XML中选择XMLDATA,它将返回CLOB,4500字节,我想看看里面是什么 – ivanz

+1

也许你只需要从FINAL_XML中选择xmltype(XMLDATA) – Aleksej

回答

1

你需要投你CLOBXMLTYPE类型:

select xmltype(XMLDATA) from FINAL_XML 

这会给你一个错误,如果你CLOB领域是不是一个有效的XML。

1

请参考下面如何从一个XMLType列读取XML数据:

SELECT x.xml_data.getClobVal() 
FROM xml_tab x; 

如果XMLDATA列的XMLType数据类型,那么你的查询是这样:

SELECT xmldata.getClobVal() 
    FROM FINAL_XML;