In the oracle table there is a column that stores XML below is the value:
<Header xmlns="http://load.xyx.gen/gen1"/>
<Body xmlns="http://load.xyx.gen/" xmlns:soapenv="http://load.xyx.gen/" xmlns:xsi="http://load.xyx.gen/instance" xmlns:SOAP-ENV="http://load.xyx.gen/" xmlns:SOAP-ENC="http://load.xyx.gen/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ns2:handleEmploye xmlns:ns2="http://load.xyx.gen/emp1">
<ns2:reisterEmp>
<ns4:empName xmlns:ns4="http://load.xyx.gen/empName1">Mirac</ns4:empName>
<ns4:empId xmlns:ns4="http://load.xyx.gen/empId1">12</ns4:empId>
<ns4:empDep xmlns:ns4="http://load.xyx.gen/empDep1">Finance</ns4:empDep>
</ns2:reisterEmp>
</ns2:handleEmploye>
</Body>
</soapenv:Envelope>
Now i am trying to fetch empId but getting below error:
ORA-31011: XML parsing failed ORA-19202: Error occurred in XML processing
I used ref. from this link but it doesn't work for me.
SELECT XMLTYPE('<soapenv:Envelope xmlns:soapenv="http://load.xyx.gen/">
<Header xmlns="http://load.xyx.gen/gen1"/>
<Body xmlns="http://load.xyx.gen/" xmlns:soapenv="http://load.xyx.gen/" xmlns:xsi="http://load.xyx.gen/instance" xmlns:SOAP-ENV="http://load.xyx.gen/" xmlns:SOAP-ENC="http://load.xyx.gen/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ns2:handleEmploye xmlns:ns2="http://load.xyx.gen/emp1">
<ns2:reisterEmp>
<ns4:empName xmlns:ns4="http://load.xyx.gen/empName1">Mirac</ns4:empName>
<ns4:empId xmlns:ns4="http://load.xyx.gen/empId1">12</ns4:empId>
<ns4:empDep xmlns:ns4="http://load.xyx.gen/empDep1">Finance</ns4:empDep>
</ns2:reisterEmp>
</ns2:handleEmploye>
</Body>
</soapenv:Envelope>
').EXTRACT('//Body/ns2:handleEmploye/ns2:reisterEmp/ns4:empId/text()').getStringVal() result
FROM dual;
Can any one suggest?