Oracle Looping through XML nodes
344384Dec 12 2007 — edited Dec 13 2007Hi,
I have this XML which i m getting as response from a webservice. i need to loop through nodes and i m not sure how to go about it. i have done example using dbms_xmldom but i m literally stuck. this is the xml here i need to loop through
statuslognotes for one enquiry, there may be multiple statuslognotes and need to insert into database....
i also need to check for multiple updatedenquiry and if thats got statuslognotes....i hope you get me.
<ProcessOperationsResult xmlns="http://www.abc.co.uk/schema/am/connector/webservice" >
<Response SchemaVersion="1.4" xmlns="" >
<OperationResponse>
<GetEnquiryStatusChangesResponse>
<UpdatedEnquiry>
<EnquiryNumber>104</EnquiryNumber>
<ExternalSystemNumber>1</ExternalSystemNumber>
<ExternalSystemReference>195</ExternalSystemReference>
<EnquiryStatusLog>
<EnquiryStatusCode>1224</EnquiryStatusCode>
<EnquiryStatusName>Cancelled By User</EnquiryStatusName>
<AssignedOfficerCode>BBB</AssignedOfficerCode>
<AssignedOfficerName>Testing</AssignedOfficerName>
<LoggedTime>2007-12-11T14:44:53</LoggedTime>
<LogEffectiveTime>2007-12-11T14:44:52</LogEffectiveTime>
<StatusFollowUpTime>2007-12-11T14:44:52</StatusFollowUpTime>
<LoggedByUserName>System Supervisor</LoggedByUserName>
<LoggedByUserId>AAA</LoggedByUserId>
</EnquiryStatusLog>
<EnquiryStatusLog>
<EnquiryStatusCode>1225</EnquiryStatusCode>
<EnquiryStatusName>Cancelled By User</EnquiryStatusName>
<AssignedOfficerCode>DEF</AssignedOfficerCode>
<AssignedOfficerName>Srinivas</AssignedOfficerName>
<LoggedTime>2007-12-11T14:44:53</LoggedTime>
<LogEffectiveTime>2007-12-11T14:44:52</LogEffectiveTime>
<StatusFollowUpTime>2007-12-11T14:44:52</StatusFollowUpTime>
<LoggedByUserName>System Supervisor</LoggedByUserName>
<LoggedByUserId>AAA</LoggedByUserId>
</EnquiryStatusLog>
</UpdatedEnquiry>
<UpdatedEnquiry>
<EnquiryNumber>105</EnquiryNumber>
<ExternalSystemNumber>1</ExternalSystemNumber>
<ExternalSystemReference>196</ExternalSystemReference>
<EnquiryStatusLog>
<EnquiryStatusCode>1226</EnquiryStatusCode>
<EnquiryStatusName>Cancelled By User</EnquiryStatusName>
<AssignedOfficerCode>Test</AssignedOfficerCode>
<AssignedOfficerName>SS</AssignedOfficerName>
<LoggedTime>2007-12-11T14:44:53</LoggedTime>
<LogEffectiveTime>2007-12-11T14:44:52</LogEffectiveTime>
<StatusFollowUpTime>2007-12-11T14:44:52</StatusFollowUpTime>
<LoggedByUserName>System Supervisor</LoggedByUserName>
<LoggedByUserId>BS</LoggedByUserId>
</EnquiryStatusLog>
</UpdatedEnquiry>
</GetEnquiryStatusChangesResponse>
</OperationResponse>
</Response>
</ProcessOperationsResult>
Any help appreciated....as i m new to this XPATH stuff in oracle.
Cheers
S