简体   繁体   English

如何使用Oracle SQL查询选择XML中的特定节点名称?

[英]How to select a particular Node name in XML using Oracle SQL query?

I need to select a particular Node name in the XML file using sql string? 我需要使用sql字符串在XML文件中选择一个特定的节点名称吗?

Sample XML structure

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

I want to run a query which which will fetch what Node name is present in XML "car" or "Train" or "Bike".. etc. 我想运行一个查询,该查询将获取XML“ car”或“ Train”或“ Bike” ..等中存在的节点名称。

Select * from TableA where.....? 从TableA中选择*。

TableA has column "Message" of type CLOB which stores the XML. TableA具有CLOB类型的“消息”列,用于存储XML。

-Praveen -普拉文

You can cast the CLOB type to XMLTYPE (or consider using an XMLTYPE column on the table). 您可以将CLOB类型转换为XMLTYPE(或考虑使用表上的XMLTYPE列)。 When dealing with XMLTYPEs you can then run XPATHs eg: 处理XMLTYPE时,可以运行XPATH,例如:

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

or extract for xml fragments. 或提取xml片段。

EDIT: changed the 'Car' to * in XPath, having re-read the question. 编辑:重新阅读问题后,在XPath中将“汽车”更改为*。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用Oracle SQL查询选择XML中的特定节点名称及其值? - How to select a particular Node name and its values in XML using Oracle SQL query? XML Oracle:如何使用SQL查询提取父节点值 - XML Oracle : How to extrct parent node value using SQL Query 如何使用节点名称和特定属性值从xml文件中选择特定节点? - how to select a particular node from xml file using node's name and a specific attribute value? 如何使用SQL Server中的查询获取虚拟列(如Oracle中的“从双重选择名称”)? - How should I get the dummy columns using the Query in SQL Server (like 'select name from dual' in Oracle)? 在 SQL 中使用 SELECT 查询获取特定行后如何删除它? - How to delete a particular row after it is fetched using SELECT query in SQL? 如何选择包含特定子字符串的单词列表作为 SQL 查询 (oracle) 的一部分? - How to select the list of words containing a particular substring as part of a SQL query (oracle)? SQL查询-指定如何选择特定列 - SQL Query - Specify how to select a particular column 从 Oracle SQL 中的 XML 节点中提取名称和值 - Extract Name and Value from XML Node in Oracle SQL 是否可以通过oracle中的select查询将表名传递给SQL查询 - Is it possible to pass a table name to a SQL query by select query in oracle Oracle SQL,在单独的选择查询中使用序列 - Oracle SQL, using a sequence in a separate select query
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM