Как получить первый элемент XPath в Oracle

В моем дб 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 10 г Enterprise Edition выпуск 10.2.0.4.0 - 64bi

8
задан parxier 8 July 2010 в 04:58
поделиться

1 ответ

Я думаю, что оба элемента Name являются #1 в этом документе, потому что в своих узлах они каждый первый. Попробуйте //File[1]/Name/text()

13
ответ дан 5 December 2019 в 12:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: