[英]How to parse xml array in Oracle
我有一個帶有accounts數組的xml,如果該數組具有1個帳戶,則此代碼工作正常,但是如果該數組具有多個帳戶,則此代碼不起作用。 請幫忙。
select x.acc_num --into res
from xmltable (
xmlnamespaces (
default 'http://www.eubank.kz/Bis.Info.ExternalServices.Bank',
'http://schemas.xmlsoap.org/soap/envelope/' AS "s",
'http://www.w3.org/2001/XMLSchema-instance' as "i",
'http://schemas.microsoft.com/2003/10/Serialization/Arrays' as "a"
),
's:Envelope/s:Body/TryGetCardAccountsResponse/TryGetCardAccountsResult/IbanList'
passing xmltype(
'<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<TryGetCardAccountsResponse
xmlns="http://www.eubank.kz/Bis.Info.ExternalServices.Bank">
<TryGetCardAccountsResult
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<IbanList
xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a:string>KZ199480018A00166666</a:string>
<a:string>KZ519480061A02366666</a:string>
</IbanList>
<Status>Ok</Status>
</TryGetCardAccountsResult>
</TryGetCardAccountsResponse>
</s:Body>
</s:Envelope>'
)
columns
acc_num varchar2(255) path 'a:string'
) x;
嘗試:
select x.acc_num --into res
from xmltable (
xmlnamespaces (
default 'http://www.eubank.kz/Bis.Info.ExternalServices.Bank',
'http://schemas.xmlsoap.org/soap/envelope/' AS "s",
'http://www.w3.org/2001/XMLSchema-instance' as "i",
'http://schemas.microsoft.com/2003/10/Serialization/Arrays' as "a"
),
's:Envelope/s:Body/TryGetCardAccountsResponse/TryGetCardAccountsResult/IbanList/a:string'
passing xmltype(
'<s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<TryGetCardAccountsResponse
xmlns="http://www.eubank.kz/Bis.Info.ExternalServices.Bank">
<TryGetCardAccountsResult
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<IbanList
xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a:string>KZ199480018A00166666</a:string>
<a:string>KZ519480061A02366666</a:string>
</IbanList>
<Status>Ok</Status>
</TryGetCardAccountsResult>
</TryGetCardAccountsResponse>
</s:Body>
</s:Envelope>'
)
columns
acc_num varchar2(255) path '.'
) x;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.