在Oracle中选择xml元素值

前端之家收集整理的这篇文章主要介绍了在Oracle中选择xml元素值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从位于Oracle表的 XMLTYPE列中的xml元素中提取值.我尝试提取的xml元素具有为其定义命名空间的父元素.
xml看起来像:
<a>
  <b xmlns="urn:www.someSite.com/myModel">
    <c>my value</c>
  </b>
</a>

如果我想提取“a”元素的内容,则会正确返回其上下文:

SELECT Extract(myColumn,'/a') FROM myTable;

但是为了返回“c”元素的内容,我没有成功找到任何版本.以下说明不起作用:

SELECT Extract(myColumn,'/a/b/c') FROM myTable;

SELECT Extract(myColumn,'/a/b/c','xmlns="urn:www.someSite.com/myModel"') FROM myTable;

SELECT Extract(myColumn,'urn:www.someSite.com/myModel') FROM myTable;

任何人都可以帮助我,在这种情况下可以使用提取语句吗?

由于a元素没有命名空间,因此您可以首先提取其子元素而不在函数中使用命名空间,然后使用命名空间从b中提取值
尝试:
select extract(extract(myColumn,'a/*'),'b/c/text()','xmlns=urn:www.someSite.com/myModel') 
  from myTable
原文链接:https://www.f2er.com/oracle/205371.html

猜你在找的Oracle相关文章