加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 07:08:01 所属栏目:MsSql教程 来源:网络整理
导读:在我的Oracle数据库中,我有这样的记录: ROOT Event Typesldkfvjhkljh/Type ID591252/ID /Event Data File Name1418688.pdf/Name URL/591252/1418688.pdf/URL /File File Name1418688.xml/Name URL/591252/1418688.xml/URL /File /Data/ROOT 我需要从第一个 N
在我的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] /名称/文字()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读