Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Парсинг xml / 8 сообщений из 8, страница 1 из 1
17.09.2019, 12:15
    #39862744
Zestr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг xml
Всем привет. Являюсь новичком на форуме, вот решил читая темы, понял что тут очень активно помогают

В оракле я новичок, сейчас стоит распарсить 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
17.09.2019, 12:41
    #39862775
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг xml
Zestrчитая темыxml db developers guide.
...
Рейтинг: 0 / 0
17.09.2019, 12:44
    #39862779
Zestr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг xml
-2-Zestrчитая темыxml db developers guide.

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


тут я прошу помощи с составлением запроса
...
Рейтинг: 0 / 0
18.09.2019, 09:08
    #39863148
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг xml
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
18.09.2019, 09:23
    #39863150
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг xml
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
18.09.2019, 09:59
    #39863164
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг xml
Владимир СА
Боже, какое убожество - помощнички, отягощённые гуем.
...
Рейтинг: 0 / 0
24.09.2019, 14:23
    #39866341
Zestr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг xml
Elic,

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

Вы ничего не сделали, кроме негативного, необоснованного ответа
...
Рейтинг: 0 / 0
24.09.2019, 14:24
    #39866342
Zestr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Парсинг xml
Владимир СА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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Парсинг xml / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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