powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / xml extract
9 сообщений из 9, страница 1 из 1
xml extract
    #39586633
подскажите,

можно в .extract как-то в параметре path указать так, чтобы из xml вида

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?xml version="1.0" encoding="UTF-8"?>
<f1>
 <f2>  
  <f3>   
   <dt>50208810500011005041</dt>   
   <f4>
    <f5>
     <type>DEBIT</type>
     <value>14417.04</value>
    </f5>
    <f5>
     <type>CREDIT</type>
     <value>14417.04</value>
    </f5>
    <f5>
     <type>RUB</type>
     <value>14417.04</value>
    </f5>
   </f4>
  </f3>  
 </f2>
</f1>
   



получился результат вида
Код: plsql
1.
2.
3.
50208810500011005041    DEBIT   14417.04
50208810500011005041    CREDIT 14417.04
50208810500011005041    RUB      14417.04



?

я пробовал по-всякому уже, что-то не получается.Удается указать только один уровень вложенности за раз (принципиально именно в одну итерацию)
...
Рейтинг: 0 / 0
xml extract
    #39586647
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xmltable не предлагать?
...
Рейтинг: 0 / 0
xml extract
    #39586648
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДобрыйМакс,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT *
  FROM xmltable('/document/node' passing
                xmltype('<document><node><rownum>22</rownum><a>one</a><a>four</a></node><node><rownum>25</rownum><a>two</a></node><node><rownum>29</rownum><a>three</a></node></document>')
                columns node xmltype path '/node/a'
               ,position FOR ordinality
               ,rown NUMBER path '/node/rownum') a
      ,xmltable('/x/a' passing xmltype('<x>' || a.node || '</x>') columns a VARCHAR2(1000) path '/a')(+)


сам когда то мучался)
...
Рейтинг: 0 / 0
xml extract
    #39586659
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДобрыйМакс(принципиально именно в одну итерацию) ORA-00933 при парсинге XML
parsing xml
...
Рейтинг: 0 / 0
xml extract
    #39586664
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vintсам когда то мучался)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
with t(xmltext) as (select '<?xml version="1.0" encoding="UTF-8"?>
<f1>
 <f2>  
  <f3>   
   <dt>50208810500011005041</dt>   
   <f4>
    <f5>
     <type>DEBIT</type>
     <value>14417.04</value>
    </f5>
    <f5>
     <type>CREDIT</type>
     <value>14417.04</value>
    </f5>
    <f5>
     <type>RUB</type>
     <value>14417.04</value>
    </f5>
   </f4>
  </f3>  
 </f2>
</f1>' from dual)
select xt.* 
from t, xmltable('/f1/f2/f3/f4/f5' passing xmltype(t.xmltext) columns dt path './../../dt', typ path 'type', val path 'value') xt
...
Рейтинг: 0 / 0
xml extract
    #39586667
andrey_anonymous,

да проста это уже внешний реализованный не мной интерфейс, куда просто передаются имена элементов и path до них, я в этой реализации ничего изменить не могу
...
Рейтинг: 0 / 0
xml extract
    #39586668
ребята, спасибо за примеры,

но xmltable не подойдет по причине того, что все, что я могу передать - эти имена элементов и path, во внешний интерфейс
...
Рейтинг: 0 / 0
xml extract
    #39586675
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,
мда.. а слона то я и не заметил((
...
Рейтинг: 0 / 0
xml extract
    #39586686
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДобрыйМакскуда просто передаются имена элементов и path до них
Можно подробнее?
Что передается и что именно из этого конструируется
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / xml extract
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]