powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / выборка данных из XML по атрибутам
11 сообщений из 11, страница 1 из 1
выборка данных из XML по атрибутам
    #39841280
Ruslan Abdulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
как я могу вытащить данные по атрибутам 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
выборка данных из XML по атрибутам
    #39841321
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ruslan Abdulov,

1 Substr'ом
2 Игнорировать NS
3 дать описание ns28
...
Рейтинг: 0 / 0
выборка данных из XML по атрибутам
    #39841333
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ruslan AbdulovXMLЭтот фрагмент не xml.
...
Рейтинг: 0 / 0
выборка данных из XML по атрибутам
    #39841373
Ruslan Abdulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
substr в xml?
...
Рейтинг: 0 / 0
выборка данных из XML по атрибутам
    #39841381
Ruslan Abdulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
это фрагмент xml
...
Рейтинг: 0 / 0
выборка данных из XML по атрибутам
    #39841386
feagor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
выборка данных из XML по атрибутам
    #39841412
Ruslan Abdulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полный код, ошибку не выдает но и ничего не выводит
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
выборка данных из XML по атрибутам
    #39841443
Фотография 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.
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
выборка данных из XML по атрибутам
    #39841503
Ruslan Abdulov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY,

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

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

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

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


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