Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / выборка данных из XML по атрибутам / 11 сообщений из 11, страница 1 из 1
25.07.2019, 11:16
    #39841280
Ruslan Abdulov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
Добрый день!
как я могу вытащить данные по атрибутам Result, ApprovalCode из следующего запроса.
<ns28:Response
xmlns:ns2=" http://google.com/common.xsd"
xmlns:ns40=" http://google.com/tran.wsdl" Id="190724000000005753" Result="Approved" ApprovalCode="495902" Version="3.2.9.10.20">
<ns28:Specific>
<ns28:Admin>
<ns28:Token>
<ns14:CardVsdc Id="3"/>
</ns28:Token>
</ns28:Admin>
</ns28:Specific>
</ns28:Response>
...
Рейтинг: 0 / 0
25.07.2019, 12:07
    #39841321
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
Ruslan Abdulov,

1 Substr'ом
2 Игнорировать NS
3 дать описание ns28
...
Рейтинг: 0 / 0
25.07.2019, 12:28
    #39841333
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
Ruslan AbdulovXMLЭтот фрагмент не xml.
...
Рейтинг: 0 / 0
25.07.2019, 13:37
    #39841373
Ruslan Abdulov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
substr в xml?
...
Рейтинг: 0 / 0
25.07.2019, 13:48
    #39841381
Ruslan Abdulov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
это фрагмент xml
...
Рейтинг: 0 / 0
25.07.2019, 13:54
    #39841386
feagor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
Ruslan Abdulovэто фрагмент xml
Этот фрагмент не XML
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
select xmltype('<ns28:Response
xmlns:ns2="http://google.com/common.xsd"
xmlns:ns40="http://google.com/tran.wsdl" Id="190724000000005753" Result="Approved" ApprovalCode="495902" Version="3.2.9.10.20">
<ns28:Specific>
<ns28:Admin>
<ns28:Token>
<ns14:CardVsdc Id="3"/>
</ns28:Token>
</ns28:Admin>
</ns28:Specific>
</ns28:Response> ') from dual

ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00234: namespace prefix "ns28" is not declared
Error at line 3
ORA-06512: at "SYS.XMLTYPE", line 310
ORA-06512: at line 1
...
Рейтинг: 0 / 0
25.07.2019, 14:23
    #39841412
Ruslan Abdulov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
полный код, ошибку не выдает но и ничего не выводит
declare
in_xml xmltype/*varchar2(20000)*/;
v_RiskLevel varchar2(250);
begin
in_xml := xmltype('<ns28:Response
xmlns:ns2=" http://google.com/xsd"
xmlns:ns3=" http://google.com/xsd"
xmlns:ns4=" http://google.com/xsd"
xmlns:ns5=" http://google.com/xsd"
xmlns:ns6=" http://google.com/xsd"
xmlns:ns7=" http://google.com/xsd"
xmlns:ns8=" http://google.com/xsd"
xmlns:ns9=" http://google.com/xsd"
xmlns:ns10=" http://google.com/xsd"
xmlns:ns11=" http://google.com/xsd"
xmlns:ns12=" http://google.com/xsd"
xmlns:ns13=" http://google.com/xsd"
xmlns:ns14=" http://google.com/xsd"
xmlns:ns15=" http://google.com/xsd"
xmlns:ns16=" http://google.com/xsd"
xmlns:ns17=" http://google.com/xsd"
xmlns:ns18=" http://google.com/xsd"
xmlns:ns19=" http://google.com/xsd"
xmlns:ns20=" http://google.com/xsd"
xmlns:ns21=" http://google.com/xsd"
xmlns:ns22=" http://google.com/xsd"
xmlns:ns23=" http://google.com/xsd"
xmlns:ns24=" http://google.com/xsd"
xmlns:ns25=" http://google.com/xsd"
xmlns:ns26=" http://google.com/xsd"
xmlns:ns27=" http://google.com/xsd"
xmlns:ns28=" http://google.com/xsd"
xmlns:ns29=" http://google.com/xsd"
xmlns:ns30=" http://google.com/xsd"
xmlns:ns31=" http://google.com/xsd"
xmlns:ns32=" http://google.com/xsd"
xmlns:ns33="google.com"
xmlns:ns34="google.com"
xmlns:ns35=" http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns36=" http://google.com/xsd"
xmlns:ns37=" http://google.com/xsd"
xmlns:ns38=" http://google.com/xsd"
xmlns:ns39=" http://google.com/TIP/xsd"
xmlns:ns40=" http://google.com/tran.wsdl" Id="190724000000005753" Result="Approved" ApprovalCode="495902" Version="3.2.9.10.20">
<ns28:Specific>
<ns28:Admin>
<ns28:Token>
<ns14:CardVsdc Id="3"/>
</ns28:Token>
</ns28:Admin>
</ns28:Specific>
</ns28:Response>
');

select extractvalue(in_xml,'/@Result', 'xmlns:ns40="http://google.com/tran.wsdl') into v_RiskLevel from dual;
dbms_output.put_line(v_RiskLevel);


end;
...
Рейтинг: 0 / 0
25.07.2019, 14:59
    #39841443
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
Код: 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.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
with data as (
              select xmltype('<ns28:Response 
xmlns:ns2="http://google.com/xsd" 
xmlns:ns3="http://google.com/xsd" 
xmlns:ns4="http://google.com/xsd" 
xmlns:ns5="http://google.com/xsd" 
xmlns:ns6="http://google.com/xsd" 
xmlns:ns7="http://google.com/xsd" 
xmlns:ns8="http://google.com/xsd" 
xmlns:ns9="http://google.com/xsd" 
xmlns:ns10="http://google.com/xsd" 
xmlns:ns11="http://google.com/xsd" 
xmlns:ns12="http://google.com/xsd" 
xmlns:ns13="http://google.com/xsd" 
xmlns:ns14="http://google.com/xsd" 
xmlns:ns15="http://google.com/xsd" 
xmlns:ns16="http://google.com/xsd" 
xmlns:ns17="http://google.com/xsd" 
xmlns:ns18="http://google.com/xsd" 
xmlns:ns19="http://google.com/xsd" 
xmlns:ns20="http://google.com/xsd" 
xmlns:ns21="http://google.com/xsd" 
xmlns:ns22="http://google.com/xsd" 
xmlns:ns23="http://google.com/xsd" 
xmlns:ns24="http://google.com/xsd" 
xmlns:ns25="http://google.com/xsd" 
xmlns:ns26="http://google.com/xsd" 
xmlns:ns27="http://google.com/xsd" 
xmlns:ns28="http://google.com/xsd" 
xmlns:ns29="http://google.com/xsd" 
xmlns:ns30="http://google.com/xsd" 
xmlns:ns31="http://google.com/xsd" 
xmlns:ns32="http://google.com/xsd" 
xmlns:ns33="google.com" 
xmlns:ns34="google.com" 
xmlns:ns35="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ns36="http://google.com/xsd" 
xmlns:ns37="http://google.com/xsd" 
xmlns:ns38="http://google.com/xsd" 
xmlns:ns39="http://google.com/TIP/xsd" 
xmlns:ns40="http://google.com/tran.wsdl" Id="190724000000005753" Result="Approved" ApprovalCode="495902" Version="3.2.9.10.20">
<ns28:Specific>
<ns28:Admin>
<ns28:Token>
<ns14:CardVsdc Id="3"/>
</ns28:Token>
</ns28:Admin>
</ns28:Specific>
</ns28:Response>
') fragment from dual
             )
select  id,
        result,
        approval_code
  from  data,
        xmltable(
                 xmlnamespaces(
                               'http://google.com/xsd' as "ns28"
                              ),
                 '/ns28:Response'
                 passing fragment
                 columns
                   id number path '@Id',
                   result varchar2(20) path '@Result',
                   approval_code number path '@ApprovalCode'
                )
/

                   ID RESULT               APPROVAL_CODE
--------------------- -------------------- -------------
   190724000000005753 Approved                    495902

SQL> 



SY.
...
Рейтинг: 0 / 0
25.07.2019, 16:39
    #39841503
Ruslan Abdulov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
SY,

отработало спасибо!
еще один вопрос не совсем понял какой именно namespace нужно подставлять?
xmlnamespaces(
'http://google.com/xsd' as "ns28"
)
...
Рейтинг: 0 / 0
25.07.2019, 16:43
    #39841507
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
Ruslan Abdulov,

Тот который указан как ns28 в XMLe.

SY.
...
Рейтинг: 0 / 0
25.07.2019, 16:46
    #39841513
Ruslan Abdulov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка данных из XML по атрибутам
SY,

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


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