I need to extract submissionId and ReturnSubmStatus from the following clob on my table lead_reporting_clob.
with lead_reporting_clob as (
select xmltype('
<?xml version="1.0" encoding="utf-8"?>
<LeadReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.fin.flu/efile">
<Lead>
<SubmissionId>12345678emvuq</SubmissionId>
<PatternDescription>OLF - R</PatternDescription>
<SourceIPAddress>
<IPAddress>
<IPv4AddressTxt>172.56.18.224</IPv4AddressTxt>
</IPAddress>
<TCPPortNumber>443</TCPPortNumber>
<IPTs>2016-06-30T18:54:20-04:00</IPTs>
</SourceIPAddress>
<SourceDeviceId>
<DeviceId>9D44D3BD1A014079D888</DeviceId>
<DeviceIdTs>2016-06-30T18:54:20-04:00</DeviceIdTs>
</SourceDeviceId>
<AdditionalInformation>
<ReturnSubmStatus>A</ReturnSubmStatus>
<EFIN>530</EFIN>
<EmailAddressDomain>OUTLOOK.COM</EmailAddressDomain>
<PhoneNumberLastFour>5103</PhoneNumberLastFour>
</AdditionalInformation>
</Lead>
<Lead>
<SubmissionId>5303942016182rkv20ij</SubmissionId>
<PatternDescription>OLF - R</PatternDescription>
<SourceIPAddress>
<IPAddress>
<IPv4AddressTxt>172.56.18.224</IPv4AddressTxt>
</IPAddress>
<TCPPortNumber>443</TCPPortNumber>
<IPTs>2016-06-30T18:39:18-04:00</IPTs>
</SourceIPAddress>
<SourceDeviceId>
<DeviceId>9D44D3BD1A014079D666</DeviceId>
<DeviceIdTs>2016-06-30T18:39:18-04:00</DeviceIdTs>
</SourceDeviceId>
<AdditionalInformation>
<ReturnSubmStatus>A</ReturnSubmStatus>
<EFIN>530</EFIN>
<EmailAddressDomain>OUTLOOK.COM</EmailAddressDomain>
<PhoneNumberLastFour>4855</PhoneNumberLastFour>
</AdditionalInformation>
</Lead>
</LeadReport>'
) as shared_xml
from dual)
I am not sure whether I should be using xmltable or extract. I have tried the following but I am getting an error, xml parsing failed. I have read many posts on the subject but I think I really have no idea what I am doing.
Thank you for any help.
SELECT
XMLTYPE(shared_xml).EXTRACT('//SubmissionId/text()'),
XMLTYPE(shared_xml).EXTRACT('//ReturnSubmStatus/text()')
FROM
lead_reporting_clob