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] /名称/文字()

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 &#39;EastRiver&#39; 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...