powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / помогите распарсить xml
2 сообщений из 2, страница 1 из 1
помогите распарсить xml
    #39982370
mkr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть колонка с таким содержимым
автор<?xml version="1.0"?>
<FixInsightReport version="2016.04upd2">
<file name="uUtil.pas">
<message line="82" col="1" id="C101">C101 Method 'Reform' is too long (77 lines)</message>
<message line="78" col="21" id="C102">C102 Too many parameters in 'Reform' (12 parameters)</message>
<message line="97" col="7" id="C108">C108 Nested WITH statement</message>
<message line="123" col="7" id="C108">C108 Nested WITH statement</message>
<message line="138" col="7" id="C108">C108 Nested WITH statement</message>
</file>
<file name="uSave.pas">
<message line="45" col="7" id="C108">C108 Nested WITH statement</message>
<message line="54" col="13" id="C108">C108 Nested WITH statement</message>
<message line="77" col="7" id="C108">C108 Nested WITH statement</message>
<message line="85" col="13" id="C108">C108 Nested WITH statement</message>
<message line="133" col="7" id="C108">C108 Nested WITH statement</message>
</file>
</FixInsightReport>


хотелось бы сделать, типа группировки, по id в разрезе file, в разерезе всего xml и в разрезе всей таблицы.
...
Рейтинг: 0 / 0
помогите распарсить xml
    #39982393
Фотография 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
with sample as (
                select  xmltype(Q'[<?xml version="1.0"?>
<FixInsightReport version="2016.04upd2">
<file name="uUtil.pas">
<message line="82" col="1" id="C101">C101 Method 'Reform' is too long (77 lines)</message>
<message line="78" col="21" id="C102">C102 Too many parameters in 'Reform' (12 parameters)</message>
<message line="97" col="7" id="C108">C108 Nested WITH statement</message>
<message line="123" col="7" id="C108">C108 Nested WITH statement</message>
<message line="138" col="7" id="C108">C108 Nested WITH statement</message>
</file>
<file name="uSave.pas">
<message line="45" col="7" id="C108">C108 Nested WITH statement</message>
<message line="54" col="13" id="C108">C108 Nested WITH statement</message>
<message line="77" col="7" id="C108">C108 Nested WITH statement</message>
<message line="85" col="13" id="C108">C108 Nested WITH statement</message>
<message line="133" col="7" id="C108">C108 Nested WITH statement</message>
</file>
</FixInsightReport>]') xmldoc from dual
)
select  file_name,
        message,
        line,
        col,
        id
  from  sample,
        xmltable(
                 '/FixInsightReport/file'
                 passing xmldoc
                 columns
                   file_name   varchar2(10) path '@name',
                   message_xml xmltype      path 'message'
                ),
       xmltable(
                 '/message'
                 passing message_xml
                 columns
                   message varchar2(52) path '.',
                   line    number       path '@line',
                   col     number       path '@col',
                   id      varchar2(5)  path '@id'
                )
/

FILE_NAME  MESSAGE                                                    LINE        COL ID
---------- ---------------------------------------------------- ---------- ---------- -----
uUtil.pas  C101 Method 'Reform' is too long (77 lines)                  82          1 C101
uUtil.pas  C102 Too many parameters in 'Reform' (12 parameters)         78         21 C102
uUtil.pas  C108 Nested WITH statement                                   97          7 C108
uUtil.pas  C108 Nested WITH statement                                  123          7 C108
uUtil.pas  C108 Nested WITH statement                                  138          7 C108
uSave.pas  C108 Nested WITH statement                                   45          7 C108
uSave.pas  C108 Nested WITH statement                                   54         13 C108
uSave.pas  C108 Nested WITH statement                                   77          7 C108
uSave.pas  C108 Nested WITH statement                                   85         13 C108
uSave.pas  C108 Nested WITH statement                                  133          7 C108

10 rows selected.

SQL>



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


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