微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql – 如何在Oracle中通过XPath获取第一个元素

在我的Oracle数据库中,我有这样的记录:
<ROOT>
  <Event>
    <Type>sldkfvjhkljh</Type>
    <ID>591252</ID>
  </Event>
  <Data>
    <File>
      <Name>1418688.pdf</Name>
      <URL>/591252/1418688.pdf</URL>
    </File>
    <File>
      <Name>1418688.xml</Name>
      <URL>/591252/1418688.xml</URL>
    </File>
  </Data>
</ROOT>

我需要从第一个< Name>中提取一个值.标签.如果我尝试:

Select xmltype(xml_data).extract('//Name[1]/text()').getStringVal() from MY_TABLE

我明白了:

1418688.pdf1418688.xml

为什么这样,我怎么才能得到1418688.pdf?

Oracle版本:

Oracle Database 10g Enterprise Edition
Release 10.2.0.4.0 – 64bi

解决方法

我认为这两个Name元素在这个doc中都是#1,因为在它们的节点中它们都是第一个.尝试//文件[1] /名称/文字()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐