Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ошибка при распарсе / 8 сообщений из 8, страница 1 из 1
02.08.2018, 18:44
    #39682748
Wisky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при распарсе
Почему то при распарсе не находит запрашиваемого тэга?

Код: 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.
declare  
  l_clob        clob;  
  OrganizationName  varchar2(30);  
begin    
  l_clob := '<?xml version="1.0" encoding="UTF-8"?>
<Envelope>
    <Body>
        <qfscrl:QFSC xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0" xmlns:qfscrl="urn:customers.ru:Information:SQDocuments:QFSC:5.9.0">
            <qfscrl:Exporter xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0">
                <cat_ru:OrganizationName xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0">456</cat_ru:OrganizationName>               
            </qfscrl:Exporter>
        </qfscrl:QFSC>
    </Body>
</Envelope>';  
  

  select OrganizationName  
  into OrganizationName  
  from xmltable(  
         xmlnamespaces(  
           'http://schemas.xmlsoap.org/soap/qfscrl/' as "qfscrl"  
         ,  'http://schemas.xmlsoap.org/soap/cat_ru/' as "cat_ru"  
         , default 'http://www.fu.gov.si/'  
         )  
       , '/Envelope/Body/qfscrl:QFSC/qfscrl:Exporter'  
         passing xmlparse(document l_clob)  
         columns OrganizationName varchar2(30) path 'OrganizationName'  
       ) ;  
  
  dbms_output.put_line(OrganizationName);  
    
end; 
/
...
Рейтинг: 0 / 0
02.08.2018, 18:49
    #39682752
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при распарсе
Потому что ты выдумал namespace-ы и не указал его в столбце.
...
Рейтинг: 0 / 0
02.08.2018, 19:02
    #39682765
Wisky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при распарсе
namespace не влияет.

Код: 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.
declare  
  l_clob        clob;  
  OrganizationName  varchar2(30);  
begin    
  l_clob := '<?xml version="1.0" encoding="UTF-8"?>
<Envelope>
    <Body>
        <QFSC>
            <Exporter>
                <OrganizationName>456</OrganizationName>               
            </Exporter>
        </QFSC>
    </Body>
</Envelope>';  
  

  select OrganizationName  into OrganizationName  
  from xmltable(  
         xmlnamespaces(   
          'http://schemas.xmlsoap.org/soap/envelope/' as "env"  
         ,  default 'http://www.fu.gov.si/'  
         )  
       , '/Envelope/Body/QFSC/Exporter'  
         passing xmlparse(document l_clob)  
         columns OrganizationName varchar2(30) path 'OrganizationName'  
       ) ;  
  
  dbms_output.put_line(OrganizationName);  
    
end; 
/
...
Рейтинг: 0 / 0
02.08.2018, 19:10
    #39682767
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при распарсе
Wiskynamespace не влияет.Чудак, не воинствуй. Убери дичайший default.
...
Рейтинг: 0 / 0
03.08.2018, 14:16
    #39683110
Wisky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при распарсе
ElicЧудак, не воинствуй. Убери дичайший default.
Спасибо, действительно при удаление default все работает.
Но как заполнять активные namespace

Код: 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.
declare  
  l_clob        clob;  
  OrganizationName  varchar2(30);  
begin    
  l_clob := '<?xml version="1.0" encoding="UTF-8"?>
<Envelope>
    <Body>
        <qfscrl:QFSC xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0" xmlns:qfscrl="urn:customers.ru:Information:SQDocuments:QFSC:5.9.0">
            <qfscrl:Exporter xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0">
                <cat_ru:OrganizationName xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0">456</cat_ru:OrganizationName>               
            </qfscrl:Exporter>
        </qfscrl:QFSC>
    </Body>
</Envelope>';  
  
  select OrganizationName  
  into OrganizationName  
  from xmltable(  
         xmlnamespaces(  
           'http://XXXXX/' as "qfscrl"  
         ,  'http://XXXXX/' as "cat_ru"  
          
         )  
       , '/Envelope/Body/qfscrl:QFSC/qfscrl:Exporter'  
         passing xmlparse(document l_clob)  
         columns OrganizationName varchar2(30) path 'OrganizationName'  
       ) ;  
  
  dbms_output.put_line(OrganizationName);     
end; 
/
...
Рейтинг: 0 / 0
03.08.2018, 14:25
    #39683116
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при распарсе
WiskyНо как заполнять активные namespaceНе методом тыка.
Wisky
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
declare  
  l_clob        clob;  
  OrganizationName  varchar2(30);  
begin    
  l_clob := '<?xml version="1.0" encoding="UTF-8"?>
<Envelope>
    <Body>
        <qfscrl:QFSC xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0" xmlns:qfscrl="urn:customers.ru:Information:SQDocuments:QFSC:5.9.0">
            <qfscrl:Exporter xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0">
                <cat_ru:OrganizationName xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0">456</cat_ru:OrganizationName>               
            </qfscrl:Exporter>
        </qfscrl:QFSC>
    </Body>
</Envelope>';  

...
Рейтинг: 0 / 0
03.08.2018, 15:43
    #39683157
Wisky
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при распарсе
Elic, спасибо еще раз.
В columns забыл 'cat_ru:OrganizationName'.
Пойду на w3.org читать, но там английский очень тяжелый.
...
Рейтинг: 0 / 0
03.08.2018, 19:00
    #39683220
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ошибка при распарсе
Код: 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.
SQL> 
  select OrganizationName
  from xmltable(
         xmlnamespaces(
           'urn:customers.ru:Information:SQDocuments:QFSC:5.9.0' as "MyNameSpace1Alias"
         ,  'urn:customers.ru:CommonAggregateTypes:5.8.0' as "MyFavoriteNamespace2"
         )
       , '/Envelope/Body/MyNameSpace1Alias:QFSC/MyNameSpace1Alias:Exporter'
         passing xmltype('<?xml version="1.0" encoding="UTF-8"?>
                          <Envelope>
                              <Body>
                                  <qfscrl:QFSC xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0" xmlns:qfscrl="urn:customers.ru:Information:SQDocuments:QFSC:5.9.0">
                                      <qfscrl:Exporter xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0">
                                          <cat_ru:OrganizationName xmlns:cat_ru="urn:customers.ru:CommonAggregateTypes:5.8.0">456</cat_ru:OrganizationName>
                                      </qfscrl:Exporter>
                                  </qfscrl:QFSC>
                              </Body>
                          </Envelope>')
         columns OrganizationName varchar2(30) path 'MyFavoriteNamespace2:OrganizationName'
       ) ;
ORGANIZATIONNAME
------------------------------
456

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


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