2010-07-19 56 views
0

我需要使用sql字符串在XML文件中选择特定的节点名称?如何使用Oracle SQL查询在XML中选择特定节点名称?

Sample XML structure 

    <Root> 
    <Body> 
     <Car> // This can be "Bike", "ship", "Train"... ect 
     <name value="figo"/> 
     </Car> 
    </Body> 
</Root> 

我想从表A,其中运行一个查询这将取什么节点名称出现在XML“汽车”或“火车”或“自行车”等..

选择* .. ...?

TableA具有存储XML的CLOB类型的列“Message”。

-Praveen

回答

0

,就可以把CLOB类型XMLTYPE(或考虑在桌子上使用XMLTYPE列)。处理XMLTYPE时,您可以运行XPATH,例如:

SELECT extractvalue(xml_col, '/*/Body/*/name/@value') 
FROM TableA 

或提取xml片段。

编辑:在XPath中将'Car'更改为*,重新阅读该问题。

相关问题