2010-07-08 26 views
7

yılında XPath tarafından ilk elemanını almak için: Ben ilk <Name> etiketinden bir değer ayıklamak gerekirnasıl bu gibi kayıtlar var db benim 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> 

. Ben denerseniz:

1418688.pdf1418688.xml

Bunun nedeni nedir ve nasıl sadece 1418688.pdf alabilirsiniz:

Select xmltype(xml_data).extract('//Name[1]/text()').getStringVal() from MY_TABLE 

alıyorum?

Oracle Versiyon:

Oracle Database 10g Enterprise Edition

10.2.0.4.0 bırakın - 64bi ben hem Adı elemanları nedeniyle düğümlerinde, bu doküman içinde 1. olduğunu düşünüyorum

+0

Sadece merak ediyorum, xpath // File [1]/Name/text()? Her iki İsim öğesinin de 1 olduğunu düşünüyorum çünkü düğümlerinde her biri ilk sırada. – REW

cevap

12

her biri ilk. //File[1]/Name/text()'u deneyin

+0

Son elemanın nasıl alınacağını biliyor musun? teşekkürler – sambomartin

+0

// Dosya [last()]/Name/text() bu durumda çalışmalıdır. – REW