2013-10-23 82 views
1

我已經存儲在XML類型表甲骨文XMLTable的功能和XPath

<?xml version="1.0" encoding="utf-8"?> 
<Document xmlns="urn:iso:std:iso:200:tech:xsd:101" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <FIToFICstmrCdtTrf xmlns="urn:iso:std:iso:200:tech:xsd:101"> 
          <CreditTx> 
       <PaymentID> 
        <InstrumentId>AAB000001</InstrumentId> 
        <Id>4730 2013-10-23 AAB000001</Id> 
        <TranxId>BULKTTXTDAAB000001</TranxId> 
       </PaymentID> 
      </CreditTx> 
     </FIToFICstmrCdtTrf> 
</Document> 

當我執行的SQL

SELECT payments.instrumentid, 
payments.id, 
payments.tranxid 
FROM paymentxml, 
XMLTable('for $i in /Document/FIToFICstmrCdtTrf/CreditTx/PaymentID 
return $i' 
PASSING OBJECT_VALUE 
COLUMNS 
instrumentid VARCHAR2(20) PATH 'InstrumentId' , 
id VARCHAR2(20) PATH 'Id' , 
tranxid VARCHAR2(20) PATH 'TranxId' 
)payments 

下面我沒有得到任何結果,即使XPath是正確的任何一個下面的XML文檔想法我缺少什麼

+0

您需要註冊XML名稱空間。 –

+0

對不起,請您詳細說明 –

回答

0

對於

爲$我/文檔/ FIToFICstmrCdtTrf/CreditTx/PaymentID返回$ I

部分,你必須給文檔作爲

爲$ i的 DOC(「/你/路徑/你的。 XML「)/文件/ FIToFICstmrCdtTrf/CreditTx/PaymentID 迴歸$ I

知道資源的位置是/your/path/your.xml是很重要的

我希望這可以幫助你。