powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Парсинг XML
3 сообщений из 3, страница 1 из 1
Парсинг XML
    #40100172
RADDIM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,
Прошу подсказать.
Есть XML, в которой есть 2 блока. ExistingContracts и TerminatedContracts.
Внутренние элементы блоков одинаковые (формат).


Пример

Код: 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.
25.
with ex as
 (select xmltype('<Root>
<ExistingContracts>
<Contract>
<AgreementNumber value="XXX"/>
</Contract>
</ExistingContracts>
<TerminatedContracts>
<Contract>
<AgreementNumber value="YYY"/>
</Contract>
</TerminatedContracts>
</Root>') xml_ex
    from dual)
select *
  from ex,
       xmltable('/Root/ExistingContracts/Contract' passing ex.xml_ex
                columns agreementnumber varchar2(4000) path
                'AgreementNumber/@value') t_parse
union all
select *
  from ex,
       xmltable('/Root/TerminatedContracts/Contract' passing ex.xml_ex
                columns agreementnumber varchar2(4000) path
                'AgreementNumber/@value') t_parse



Как видим что бы распарсить я использую UNION ALL.

Я хотел бы не использовать UNION ALL. А обойтись один селектом.
Что то наподобие:
Код: plsql
1.
2.
3.
select *
  from ex, xmltable('/Root/ExistingContracts OR TerminatedContracts/Contract' --Вот здесь что то надо сделать. Не знаю возможно ли что то придумать
        passing ex.xml_ex columns agreementnumber varchar2(4000) path 'AgreementNumber/@value') t_parse
...
Рейтинг: 0 / 0
Парсинг XML
    #40100244
rpovarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RADDIM,
'/Root/(ExistingContracts,TerminatedContracts)/Contract'
...
Рейтинг: 0 / 0
Парсинг XML
    #40100365
RADDIM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rpovarov
RADDIM,
'/Root/(ExistingContracts,TerminatedContracts)/Contract'


Спасибо большое.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Парсинг XML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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