powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Parsing CLOB XML
4 сообщений из 4, страница 1 из 1
Parsing CLOB XML
    #39927645
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте всем!
есть следующий формат XML которого записываю в базу типом CLOB
помогите парсингом чтобы получить значения
DTS
OP
QID
QM
PARAM1
SERVICE_ID

Код: xml
1.
2.
3.
4.
5.
<?xml version="1.0" encoding="UTF-8"?>
<XML>
<HEAD DTS="2020-02-17 10:24:31" OP="QE11" QID="526952108" QM="IBANK.RU" />
<BODY PARAM1="99999999" SERVICE_ID="789" />
</XML>



заранее спасибо
...
Рейтинг: 0 / 0
Parsing CLOB XML
    #39927701
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
26.
27.
with t as (
           select '<?xml version="1.0" encoding="UTF-8"?>
<XML>
<HEAD DTS="2020-02-17 10:24:31" OP="QE11" QID="526952108" QM="IBANK.RU" />
<BODY PARAM1="99999999" SERVICE_ID="789" />
</XML>' doc from dual
          )
select  x.*
  from  t,
        xmltable(
                 '/XML'
                 passing xmltype(doc)
                 columns
                   dts        varchar2(30) path 'HEAD/@DTS',
                   op         varchar2(4)  path 'HEAD/@OP',
                   qid        number       path 'HEAD/@QID',
                   qm         varchar2(10) path 'HEAD/@QM',
                   param      number       path 'BODY/@PARAM1',
                   service_id number       path 'BODY/@SERVICE_ID'
                ) x
/

DTS                       OP          QID QM              PARAM SERVICE_ID
------------------------- ---- ---------- ---------- ---------- ----------
2020-02-17 10:24:31       QE11  526952108 IBANK.RU     99999999        789

SQL>



SY.
...
Рейтинг: 0 / 0
Parsing CLOB XML
    #39927704
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и XML у тебя хромает. По идее должно быть DTS="2020-02-17 T 10:24:31". Тогда:

Код: 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.
26.
27.
with t as (
           select '<?xml version="1.0" encoding="UTF-8"?>
<XML>
<HEAD DTS="2020-02-17T10:24:31" OP="QE11" QID="526952108" QM="IBANK.RU" />
<BODY PARAM1="99999999" SERVICE_ID="789" />
</XML>' doc from dual
          )
select  x.*
  from  t,
        xmltable(
                 '/XML'
                 passing xmltype(doc)
                 columns
                   dts        timestamp    path 'HEAD/@DTS',
                   op         varchar2(4)  path 'HEAD/@OP',
                   qid        number       path 'HEAD/@QID',
                   qm         varchar2(10) path 'HEAD/@QM',
                   param      number       path 'BODY/@PARAM1',
                   service_id number       path 'BODY/@SERVICE_ID'
                ) x
/

DTS                          OP          QID QM              PARAM SERVICE_ID
---------------------------- ---- ---------- ---------- ---------- ----------
17-FEB-20 10.24.31.000000 AM QE11  526952108 IBANK.RU     99999999        789

SQL>



SY.
...
Рейтинг: 0 / 0
Parsing CLOB XML
    #39927858
Бакыт
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо SY, да XML дает банк которую я должен пропарсить

сейчас еще одну проблему заметил при загрузке тег "XML" не закрывается хотя Postman вижу что есть

Код: xml
1.
2.
3.
4.
5.
<?xml version="1.0" encoding="utf-8"?>
<XML>
<HEAD DTS="2020-02-17 10:24:31" OP="QE11" QID="526952108" QM="IBANK.CBK.KG"/>
<BODY PARAM1="20105199403552" SERVICE_ID="789"/>
</
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Parsing CLOB XML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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