powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Парсинг xml
8 сообщений из 8, страница 1 из 1
Парсинг xml
    #39862744
Zestr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Являюсь новичком на форуме, вот решил читая темы, понял что тут очень активно помогают

В оракле я новичок, сейчас стоит распарсить xml и вытащить нужные данные.

оракл версии 11.2.0.4.0

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<ns3:subscribeEvent xmlns:ns2="http://123.ru/123" xmlns:ns3="http://123.ru/123">
    <event>
        <id>0f54d73-40f5-4d73-737e-34d737ea40f5</id>
        <type>7777</type>
        <time>2019-05-31T11:04:20.355+03:00</time>
        <system>SelfSubscript</system>
    </event>
    <client>
        <id>77777</id>
        <nomber>011111 015678200</nomber>
        <phone>9169169167</phone>
    </client>
    <subscriptions>
        <callCenterPhone>+7 (916) 916-91-91</callCenterPhone>
        <callCenterPhoneConcise>+7(916)9169191</callCenterPhoneConcise>
    </subscriptions>
</ns3:subscribeEvent>



Мне нужно чтобы запрос быстро обрабатывался, строк может быть очень много.

Пытаюсь сделать ввиде

Код: sql
1.
2.
3.
4.
5.
6.
SELECT EXTRACTVALUE (x.COLUMN_VALUE, 'string/@name'),
       EXTRACTVALUE (x.COLUMN_VALUE, 'string/@value')
  FROM TABLE (
          SELECT XMLSEQUENCE (
                    xmltype (xml_col).EXTRACT ('a/string'))
            FROM xml_table) x;



но ни как не удается...

Помогите пожалуйста с запросом и вариантами.
...
Рейтинг: 0 / 0
Парсинг xml
    #39862775
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zestrчитая темыxml db developers guide.
...
Рейтинг: 0 / 0
Парсинг xml
    #39862779
Zestr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-Zestrчитая темыxml db developers guide.

Спасибо за совет, при возможности прочту.


тут я прошу помощи с составлением запроса
...
Рейтинг: 0 / 0
Парсинг xml
    #39863148
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZestrСпасибо за совет, при возможности прочту.
тут я прошу помощи с составлением запроса
Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
SELECT *
FROM xmltable(
xmlnamespaces('http://123.ru/123' as "ns3"),
'/ns3:subscribeEvent/event'
passing xmltype(
        '<ns3:subscribeEvent xmlns:ns2="http://123.ru/123" xmlns:ns3="http://123.ru/123">
            <event>
                <id>0f54d73-40f5-4d73-737e-34d737ea40f5</id>
                <type>7777</type>
                <time>2019-05-31T11:04:20.355+03:00</time>
                <system>SelfSubscript</system>
            </event>
            <client>
                <id>77777</id>
                <nomber>011111 015678200</nomber>
                <phone>9169169167</phone>
            </client>
            <subscriptions>
                <callCenterPhone>+7 (916) 916-91-91</callCenterPhone>
                <callCenterPhoneConcise>+7(916)9169191</callCenterPhoneConcise>
            </subscriptions>
        </ns3:subscribeEvent>'
)
    columns
    ID VARCHAR2(100 CHAR) path 'id',
    TYPE_ NUMBER path 'type',
    TIME_  VARCHAR2(100 CHAR) path 'time',
    SYSTEM_ VARCHAR2(100 CHAR) path 'system'
);


ID                                   TYPE_           TIME_                     SYSTEM_
-------------------------------------------------------------------------------------------
0f54d73-40f5-4d73-737e-34d737ea40f5  7777   2019-05-31T11:04:20.355+03:00    SelfSubscript

1 row selected.


По аналогии все остальное вытаскивается.
...
Рейтинг: 0 / 0
Парсинг xml
    #39863150
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zestr...
Код: 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.
28.
29.
30.
31.
32.
33.
34.
SELECT *
FROM xmltable(
xmlnamespaces('http://123.ru/123' as "ns3"),
'/ns3:subscribeEvent'
passing xmltype(
        '<ns3:subscribeEvent xmlns:ns2="http://123.ru/123" xmlns:ns3="http://123.ru/123">
            <event>
                <id>0f54d73-40f5-4d73-737e-34d737ea40f5</id>
                <type>7777</type>
                <time>2019-05-31T11:04:20.355+03:00</time>
                <system>SelfSubscript</system>
            </event>
            <client>
                <id>77777</id>
                <nomber>011111 015678200</nomber>
                <phone>9169169167</phone>
            </client>
            <subscriptions>
                <callCenterPhone>+7 (916) 916-91-91</callCenterPhone>
                <callCenterPhoneConcise>+7(916)9169191</callCenterPhoneConcise>
            </subscriptions>
        </ns3:subscribeEvent>'
)
    columns
    EVENT_ID VARCHAR2(100 CHAR) path 'event/id',
    EVENT_TYPE NUMBER path 'event/type',
    EVENT_TIME  VARCHAR2(100 CHAR) path 'event/time',
    EVENT_SYSTEM VARCHAR2(100 CHAR) path 'event/system',
    CLIENT_ID NUMBER path 'client/id',
    CLIENT_NOMBER VARCHAR2(100 CHAR) path 'client/nomber',
    CLIENT_PHONE VARCHAR2(100 CHAR) path 'client/phone',
    SUBSC_PHONE VARCHAR2(100 CHAR) path 'subscriptions/callCenterPhone',
    SUBSC_PHONE_C VARCHAR2(100 CHAR) path 'subscriptions/callCenterPhoneConcise'
);
...
Рейтинг: 0 / 0
Парсинг xml
    #39863164
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СА
Боже, какое убожество - помощнички, отягощённые гуем.
...
Рейтинг: 0 / 0
Парсинг xml
    #39866341
Zestr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,

Не понимаю что вас так не устроили. Владимир откликнулся, потратил свое время и помог мне с решением.

Вы ничего не сделали, кроме негативного, необоснованного ответа
...
Рейтинг: 0 / 0
Парсинг xml
    #39866342
Zestr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир САZestr...
Код: 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.
28.
29.
30.
31.
32.
33.
34.
SELECT *
FROM xmltable(
xmlnamespaces('http://123.ru/123' as "ns3"),
'/ns3:subscribeEvent'
passing xmltype(
        '<ns3:subscribeEvent xmlns:ns2="http://123.ru/123" xmlns:ns3="http://123.ru/123">
            <event>
                <id>0f54d73-40f5-4d73-737e-34d737ea40f5</id>
                <type>7777</type>
                <time>2019-05-31T11:04:20.355+03:00</time>
                <system>SelfSubscript</system>
            </event>
            <client>
                <id>77777</id>
                <nomber>011111 015678200</nomber>
                <phone>9169169167</phone>
            </client>
            <subscriptions>
                <callCenterPhone>+7 (916) 916-91-91</callCenterPhone>
                <callCenterPhoneConcise>+7(916)9169191</callCenterPhoneConcise>
            </subscriptions>
        </ns3:subscribeEvent>'
)
    columns
    EVENT_ID VARCHAR2(100 CHAR) path 'event/id',
    EVENT_TYPE NUMBER path 'event/type',
    EVENT_TIME  VARCHAR2(100 CHAR) path 'event/time',
    EVENT_SYSTEM VARCHAR2(100 CHAR) path 'event/system',
    CLIENT_ID NUMBER path 'client/id',
    CLIENT_NOMBER VARCHAR2(100 CHAR) path 'client/nomber',
    CLIENT_PHONE VARCHAR2(100 CHAR) path 'client/phone',
    SUBSC_PHONE VARCHAR2(100 CHAR) path 'subscriptions/callCenterPhone',
    SUBSC_PHONE_C VARCHAR2(100 CHAR) path 'subscriptions/callCenterPhoneConcise'
);



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


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