提取oracle xml节点

时间:2015-12-07 13:13:29

标签: xml oracle

我有一个oracle clob,我想提取部分内容: clob:

<JobDetails>
 <ObjectDetails />
 <DestinationDetails>
  <AddressTo>test@gmail.com</AddressTo>
  <AddressCc></AddressCc>
  <AddressBcc></AddressBcc>
  <Subject>Automated email </Subject>
  <Message>Automated email </Message>
  <Attachment></Attachment>
  <Importance>False</Importance>
 </DestinationDetails>
</JobDetails>

我想要从/ DestinationDetails&gt;  不包括每次相同的节点。 我不想只删除字符串的开头和结尾。

1 个答案:

答案 0 :(得分:0)

将其转换为XMLTYPE并使用XPath / XQuery

较旧的,已弃用的语法:

SELECT EXTRACT(XMLTYPE(clob_col), '/*/DestinationDetails')
FROM some_table

较新的XQuery语法:

SELECT
  XMLQUERY('/*/DestinationDetails' PASSING XMLTYPE(clob_col) RETURNING CONTENT) xml_fragment
FROM some_table