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

前端之家收集整理的这篇文章主要介绍了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] /名称/文字()

猜你在找的MsSQL相关文章