Ionic 4 с Sqlite - Невозможно прочитать свойство then для неопределенного TypeError: Невозможно прочитать свойство then для неопределенного

Вы можете использовать XMLQuery :

select xmlquery('declare namespace soap="http://www.w3.org/2003/05/soap-envelope"; (: :)
    declare default element namespace "http://tempuri.org/"; (: :)
    soap:Envelope/soap:Body/hasLoanResponse/hasLoanResult/text()'
  passing 
  returning content).getstringval() as result
from dual;

Это объявляет пространства имен soap и по умолчанию, чтобы они соответствовали соответствующим частям пути. Затем он извлекает текст узла, который вы ищете, и возвращает его как строку.

Итак, ваш образец документа поставляется в строке:

select xmlquery('declare namespace soap="http://www.w3.org/2003/05/soap-envelope"; (: :)
    declare default element namespace "http://tempuri.org/"; (: :)
    soap:Envelope/soap:Body/hasLoanResponse/hasLoanResult/text()'
  passing xmltype('



true


')
  returning content).getstringval() as result
from dual;

RESULT    
----------
true

Если вы имеют XML в переменной PL / SQL, тогда это в основном одно и то же:

set serveroutput on

declare
  l_xml xmltype := xmltype('



true


');

  l_result varchar2(5);
begin
  select xmlquery('declare namespace soap="http://www.w3.org/2003/05/soap-envelope"; (: :)
      declare default element namespace "http://tempuri.org/"; (: :)
      soap:Envelope/soap:Body/hasLoanResponse/hasLoanResult/text()'
    passing l_xml
    returning content).getstringval()
  into l_result
  from dual;

  dbms_output.put_line(l_result);
end;
/

true


PL/SQL procedure successfully completed.

Если у вас есть документ XML в переменной CLOB или varchar2, просто измените его на:

    passing xmltype(l_xml)

, используя ваше собственное имя переменной.

2
задан halfer 25 January 2019 в 23:58
поделиться