The xml is:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:abcs="http://www.avea.com.tr/om/ABCS_BSCS_ASSET_OPERATIONS" xmlns:ave="http://www.avea.com.tr/AveaFrameWork" xmlns:ebs="http://www.avea.com.tr/om/EBS_COMMITMENT_ASSET_OPERATIONS"><soapenv:Header/><soapenv:Body><ebs:EbsRetrieveProbableCommitmentPenaltiesResponse>
<ave:ResponseHeader>
<ave:RequestId>
<!--Optional:-->
<ave:GUID>?</ave:GUID>
<!--Optional:-->
<ave:ListOfTransId>
<!--Zero or more repetitions:-->
<ave:TransId>
<ave:SystemName>?</ave:SystemName>
<ave:ExtendedValue>?</ave:ExtendedValue>
</ave:TransId>
</ave:ListOfTransId>
</ave:RequestId>
<!--Optional:-->
<ave:TimeStampDateTime>?</ave:TimeStampDateTime>
<!--Optional:-->
<ave:ElapsedTime>?</ave:ElapsedTime>
</ave:ResponseHeader>
<!--Optional:-->
<abcs:ResponseBody>
<!--Optional:-->
<abcs:listOfCommitmentPenalty>
<!--Zero or more repetitions:-->
<abcs:commitmentPenalty>
<!--Optional:-->
<abcs:commitmentName>asddsfdsf dsfsdf</abcs:commitmentName>
<!--Optional:-->
<abcs:startDate>2014-11-12T16:06:05.664+02:00</abcs:startDate>
<!--Optional:-->
<abcs:endDate>2015-11-12T16:06:05.664+02:00</abcs:endDate>
<!--Optional:-->
<abcs:totalPeriod>365</abcs:totalPeriod>
<!--Optional:-->
<abcs:remainingPeriod>120</abcs:remainingPeriod>
<!--Optional:-->
<abcs:penaltyAmount>1200</abcs:penaltyAmount>
</abcs:commitmentPenalty>
<abcs:commitmentPenalty>
<!--Optional:-->
<abcs:commitmentName>asdasd asdasd</abcs:commitmentName>
<!--Optional:-->
<abcs:startDate>2013-04-10T16:06:05.664+02:00</abcs:startDate>
<!--Optional:-->
<abcs:endDate>2015-04-10T16:06:05.664+02:00</abcs:endDate>
<!--Optional:-->
<abcs:totalPeriod>720</abcs:totalPeriod>
<!--Optional:-->
<abcs:remainingPeriod>30</abcs:remainingPeriod>
<!--Optional:-->
<abcs:penaltyAmount>500</abcs:penaltyAmount>
</abcs:commitmentPenalty>
</abcs:listOfCommitmentPenalty>
<!--Optional:-->
<abcs:totalPenaltyAmount>1700</abcs:totalPenaltyAmount>
</abcs:ResponseBody>
<!--Optional:-->
<ave:ResultStatus>
<ave:resultCode>0</ave:resultCode>
<!--Optional:-->
<ave:resultMessageList>
<!--Zero or more repetitions:-->
<ave:resultMessage>
<!--Optional:-->
<ave:resultMessageId>?</ave:resultMessageId>
<!--Optional:-->
<ave:resultMessageSubId>?</ave:resultMessageSubId>
<!--Optional:-->
<ave:resultStringCode>?</ave:resultStringCode>
<!--Optional:-->
<ave:resultDescription>?</ave:resultDescription>
</ave:resultMessage>
</ave:resultMessageList>
<!--Optional:-->
<ave:KeyValuePairList>
<!--Zero or more repetitions:-->
<ave:KeyValuePair>
<!--Optional:-->
<ave:key>?</ave:key>
<!--Optional:-->
<ave:value>?</ave:value>
<!--Optional:-->
<ave:data_type>?</ave:data_type>
</ave:KeyValuePair>
</ave:KeyValuePairList>
</ave:ResultStatus>
</ebs:EbsRetrieveProbableCommitmentPenaltiesResponse></soapenv:Body></soapenv:Envelope>
The Sql:
select atts.att1,atts.att2,my_table.PL_IN
from my_table
, xmltable(
xmlnamespaces(
'http://schemas.xmlsoap.org/soap/envelope/' as "soapenv"
, 'http://www.avea.com.tr/om/ABCS_BSCS_ASSET_OPERATIONS' as "abcs"
, 'http://www.avea.com.tr/AveaFrameWork' as "ave"
,'http://www.avea.com.tr/om/EBS_COMMITMENT_ASSET_OPERATIONS' as "ebs")
,'/soapenv:Envelope/soapenv:Header/soapenv:Body/abcs:ResponseBody/abcs:listOfCommitmentPenalty/abcs:commitmentPenalty'
passing xmltype(my_table.PL_IN)
columns
att1 varchar2 (20) path 'abcs:commitmentName',
att2 number path 'abcs:totalPeriod') atts
I am trying to parse clob xml data in oracle no rows return. In the sql I define namespaces and parse xml, but it does not work. I've tried almost all the solutions I've done in Google, but it did not. Is there anyone that can help me or Anyone suggest for this question. Thanks.
Your XPath is incorrect. soapenv:Body
is at the same level as soapenv:Header
, which is an empty tag. You've also missed out the ebs:EbsRetrieveProbableCommitmentPenaltiesResponse
node at the top of the body.
So the XPath should start:
'/soapenv:Envelope/soapenv:Body/ebs:EbsRetrieveProbableCommitmentPenaltiesResponse/abcs:ResponseBody/...
With just that change your query gets:
ATT1 ATT2 PL_IN
-------------------- ---------- --------------------------------------------------------------------------------
asddsfdsf dsfsdf 365 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln
asdasd asdasd 720 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.