小编典典

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

sql

在我的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数据库10g企业版10.2.0.4.0-64bi


阅读 257

收藏
2021-04-22

共1个答案

小编典典

我认为这两个Name元素在此文档中均排名第一,因为在它们的节点中它们分别是第一个。尝试//File[1]/Name/text()

2021-04-22