在Oracle中选择xml元素值
发布时间:2020-12-12 13:11:34 所属栏目:百科 来源:网络整理
导读:我试图从位于Oracle表的 XMLTYPE列中的xml元素中提取值.我尝试提取的xml元素具有为其定义命名空间的父元素. xml看起来像: a b xmlns="urn:www.someSite.com/myModel" cmy value/c /b/a 如果我想提
我试图从位于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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |