I have a xml_data which I am passing into procedure-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:a xmlns:ns2="http://www.sbc.com/iag/schemas/adapters" xmlns="http://www.sbc.com/iag/schemas/core">
<ns2:b>
<ns2:OrderNumber>99995</ns2:OrderNumber>
<ns2:ServiceOrderNumber>88888</ns2:ServiceOrderNumber>
</ns2:b>
<ns2:b>
<ns2:OrderNumber>99699</ns2:OrderNumber>
<ns2:ServiceOrderNumber>88888</ns2:ServiceOrderNumber>
</ns2:b>
<ns2:b>
<ns2:OrderNumber>69999</ns2:OrderNumber>
<ns2:ServiceOrderNumber>88888</ns2:ServiceOrderNumber>
</ns2:b
<ns2:b>
<ns2:OrderNumber>67999</ns2:OrderNumber>
<ns2:ServiceOrderNumber>88888</ns2:ServiceOrderNumber>
</ns2:b>
</ns2:a>
node
ns2:b
can be repeated any number of times and is not fixed. How do i fetch this
ns2:OrderNumber
from this xml data in oracle procedure.I am able to fetch the value if
ns2:b(ns2:OrderNumber)
occurs only one time through below code-
select extractValue(
xml_data,
xmlns="http://www.sbc.com/iag/schemas/core"'
) '/ns2:a/ns2:b/ns2:OrderNumber/text()',
'xmlns:ns2="http://www.sbc.com/iag/schemas/adapters",
into order_number from dual;
dbms_output.put_line('FailedRetry -' ||order_number);
But how do i keep iterating until I get all the values of that node
in XML.I have tried different solution posted on this site,but none worked.