Пример парсинга XML

   select 
         t.ID,
         --ds_ip.COLUMN_VALUE as egrip_ip_xml,
         extractValue(ds_ip.COLUMN_VALUE,'/IP/@IDDOK')  as IP_IDDOK,
         extractValue(ds_ip.COLUMN_VALUE,'/IP/@IDIP')   as IP_IDIP,
         extractValue(ds_ip.COLUMN_VALUE,'/IP/@OGRNIP') as IP_OGRNIP,
         extractValue(ds_ip.COLUMN_VALUE,'/IP/@INN')    as IP_INN,
         --
         extractValue(ds_ip_okved.COLUMN_VALUE,'/OKVED/@KOD_OKVED')  as KOD_OKVED,
         extractValue(ds_ip_okved.COLUMN_VALUE,'/OKVED/@MAIN')       as MAIN,
         extractValue(ds_ip_okved.COLUMN_VALUE,'/OKVED/@NAME')       as NAME
         --
    from (
          ------------------------------------------------------------------------------------
          select ID,
                 xmltype(replace(t.XML_FILE,'xmlns="http://granit.ru/integration"','')) as XML 
            from list_of_xml_for_load t 
           where t.id in (
                             1
                          --  ,2
                         -- ,586 -- 65 okveds
                        --  ,585 -- 10 okveds
                          )
          ------------------------------------------------------------------------------------
         ) t, 
         table(XMLSequence(t.xml.extract('/EGRIP_IP_DATA/IP')))      ds_ip
        ,table(XMLSequence(ds_ip.COLUMN_VALUE.extract('/IP/OKVED'))) ds_ip_okved