我必须使用PL/SQL更新存储在Oracle数据库19 c中BLOB列中的XML值。
我想将元素<ns35:AMOUNTLOCAL1>122000</ns35:AMOUNTLOCAL1>
中的值122000更新为500
<ns0:WSMBBILLPAYMENTSERVICETTResponse xmlns:ns0="http://sample.com/ESBMBWEBSERVICE" xmlns:ns21="http://sample.com/FUNDSTRANSFERSAMESBMBTM" xmlns:ns3="http://sample.com/SAMHBILLPAY" xmlns:ns35="http://sample.com/TELLER" xmlns:ns28="http://sample.com/FUNDSTRANSFERSAMMBONLINEPAY" xmlns:ns19="http://sample.com/FUNDSTRANSFER" xmlns:ns5="http://sample.com/SAMHBILLPAYPAYBYMOBILE" xmlns:ns34="http://sample.com/FUNDSTRANSFERFTSAMESBMOBILESUBFEE" xmlns:ns22="http://sample.com/FUNDSTRANSFERSAMESBMBTTEP" xmlns:ns6="http://sample.com/CUSTOMER" xmlns:ns13="http://sample.com/ENQSAMMOBACCTWS" xmlns:ns26="http://sample.com/FUNDSTRANSFERSAMESBMOBILETTOA" xmlns:ns1="http://sample.com/ACCOUNT" xmlns:ns9="http://sample.com/ENQSAMESBACCTINQ" xmlns:ns32="http://sample.com/FUNDSTRANSFERFTSAMESBMOBILEPITV">
<Status>
<transactionId>TT230397M1GC</transactionId>
<messageId>MOB230391644542177.00</messageId>
<successIndicator>Success</successIndicator>
<application>TELLER</application>
</Status>
<TELLERType id="DD230397M1GC">
<ns35:TRANSACTIONCODE>983</ns35:TRANSACTIONCODE>
<ns35:TELLERID1>2801</ns35:TELLERID1>
<ns35:DRCRMARKER>CREDIT</ns35:DRCRMARKER>
<ns35:CURRENCY1>KHR</ns35:CURRENCY1>
<ns35:CUSTOMER1>166708</ns35:CUSTOMER1>
<ns35:gACCOUNT1>
<ns35:mACCOUNT1>
<ns35:ACCOUNT1>1012448283</ns35:ACCOUNT1>
<ns35:AMOUNTLOCAL1>122000</ns35:AMOUNTLOCAL1>
<ns35:sgNARRATIVE1>
<ns35:NARRATIVE1>
<ns35:NARRATIVE1>3203738210-SAM000007828</ns35:NARRATIVE1>
</ns35:NARRATIVE1>
</ns35:sgNARRATIVE1>
</ns35:mACCOUNT1>
</ns35:gACCOUNT1>
<ns35:VALUEDATE1>20230208</ns35:VALUEDATE1>
<ns35:EXPOSUREDATE1>20230208</ns35:EXPOSUREDATE1>
<ns35:CURRMARKET1>10</ns35:CURRMARKET1>
<ns35:POSTYPE1>TR</ns35:POSTYPE1>
<ns35:CURRENCY2>KHR</ns35:CURRENCY2>
<ns35:TELLERID2>2801</ns35:TELLERID2>
<ns35:ACCOUNT2>KHR1000028010182</ns35:ACCOUNT2>
<ns35:AMOUNTLOCAL2>122000</ns35:AMOUNTLOCAL2>
<ns35:NETAMOUNT>122000</ns35:NETAMOUNT>
<ns35:POSTYPE2>TR</ns35:POSTYPE2>
<ns35:gNARRATIVE2>
<ns35:NARRATIVE2>3203738210-SAM000007828</ns35:NARRATIVE2>
</ns35:gNARRATIVE2>
<ns35:WAIVECHARGES>NO</ns35:WAIVECHARGES>
<ns35:gNEWCUSTBAL>
<ns35:NEWCUSTBAL>10069600</ns35:NEWCUSTBAL>
</ns35:gNEWCUSTBAL>
<ns35:AUTHDATE>20230208</ns35:AUTHDATE>
<ns35:gSTMTNO>
<ns35:STMTNO>201281644542178.00</ns35:STMTNO>
<ns35:STMTNO>1-2</ns35:STMTNO>
<ns35:STMTNO>KH0010001</ns35:STMTNO>
<ns35:STMTNO>201281644542178.01</ns35:STMTNO>
<ns35:STMTNO>1-2</ns35:STMTNO>
</ns35:gSTMTNO>
<ns35:CURRNO>1</ns35:CURRNO>
<ns35:gINPUTTER>
<ns35:INPUTTER>16445_SAM.PHEAROM123_I_INAU_OFS_MOB</ns35:INPUTTER>
</ns35:gINPUTTER>
<ns35:gDATETIME>
<ns35:DATETIME>2302081142</ns35:DATETIME>
<ns35:DATETIME>2302081142</ns35:DATETIME>
</ns35:gDATETIME>
<ns35:AUTHORISER>16445_SAM.PHEAROM123_OFS_MOB</ns35:AUTHORISER>
<ns35:SAMHBILLPAY>3203738210-សុហជា</ns35:SAMHBILLPAY>
<ns35:LSAMSUPTYPE>EDC</ns35:LSAMSUPTYPE>
<ns35:ADDITIONALDATA>អគ្គិសនីážáž¶áž€áŸ‚ážœ</ns35:ADDITIONALDATA>
<ns35:ATUNIQUEID>SAM000007828</ns35:ATUNIQUEID>
</TELLERType>
</ns0:WSMBBILLPAYMENTSERVICETTResponse>
我搜索了前面的答案,但似乎没有一个发布的xml具有这种复杂的元素层次结构。
先谢谢你了。
1条答案
按热度按时间af7jpaap1#
如果
WSMBBILLPAYMENTSERVICETTResponse
标记的目标命名空间是http://sample.com/ESBMBWEBSERVICE
,则从xml<WSMBBILLPAYMENTSERVICETTResponse xmlns="http://sample.com/ESBMBWEBSERVICE"
中删除前缀ns0
,否则按以下方式添加前缀考虑到目标名称空间是
http://sample.com/ESBMBWEBSERVICE
,下面是工作示例