1

我有一个存储在 XML 类型表中的以下 xml 文档

<?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是正确的,我也没有得到任何结果我错过了什么

4

1 回答 1

0

为了

对于 /Document/FIToFICstmrCdtTrf/CreditTx/PaymentID 中的 $i,返回 $i

您必须将文档作为

对于 $i 在 doc("/your/path/your.xml")/Document/FIToFICstmrCdtTrf/CreditTx/PaymentID return $i

了解资源的位置很重要,即 /your/path/your.xml

我希望这可以帮助你。

于 2013-12-11T10:18:40.983 回答