Click here to Skip to main content
15,886,519 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have some typical issue to parse XML for the values.

sample xml:

<emp>
<name>John</name>
<id1>123</id1>
<address><street>down town</street></address>
</emp>


i am trying to parse this xml using below query:

SELECT name,id1,address
                     FROM (SELECT XMLTYPE ('<emp>
<name>John</name>
<id1>123</id1>
<address><street>down town</street></address>
</emp>') object_value FROM DUAL) t,
                          XMLTABLE (
                             '/emp'
                             PASSING t.object_value
                             COLUMNS      name varchar2(2000)   PATH '/emp/name',
                             id1 number   PATH '/emp/id1',
                             address clob   PATH '/emp/address');                


its returning output:

name id1 address
John 123 down town

some times address will come string like above and also with xml tags. I would like to return both values like below.

expected output should be:

name id1 address
John 123 <street>down town</street>


How can i get this? Could you please assist?

What I have tried:

<pre>SELECT name,id1,address
                     FROM (SELECT XMLTYPE ('<emp>
<name>John</name>
<id1>123</id1>
<address><street>down town</street></address>
</emp>') object_value FROM DUAL) t,
                          XMLTABLE (
                             '/emp'
                             PASSING t.object_value
                             COLUMNS      name varchar2(2000)   PATH '/emp/name',
                             id1 number   PATH '/emp/id1',
                             address clob   PATH '/emp/address');                
Posted
Updated 20-May-19 23:31pm
v4

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900