Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách phân tích cú pháp xml bằng xmltable khi sử dụng không gian tên trong xml (Oracle)

Dựa trên câu trả lời này

Sẽ như thế này:

declare    
  v_xml clob;    
begin    
  v_xml := '<?xml version="1.0" encoding="utf-8"?>    
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">    
    <soap:Body>    
      <addResponse xmlns="http://tempuri.org/">    
        <addResult>20</addResult>    
      </addResponse>    
    </soap:Body>    
  </soap:Envelope>';    
  for c in (select results    
              from xmltable(xmlnamespaces(default 'http://tempuri.org/',    
                                          'http://schemas.xmlsoap.org/soap/envelope/' as    
                                          "soap" ),    
                            'soap:Envelope/soap:Body/addResponse' passing    
                            xmltype(v_xml) columns results varchar(100) path    
                            './addResult')) loop    
    dbms_output.put_line('the result of calculation is : ' || c.results);    
  end loop;    
end;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách loại bỏ “X hàng đã chọn” trong SQLcl &SQL * Plus (Oracle)

  2. Từ Thủ tục đã lưu, trả về tham số OUT &con trỏ OUT &kết quả phân tích cú pháp (Oracle)

  3. Cách thêm Bộ khóa (UniqueID) vào bảng Tạm thời để CHÈN sau này vào Bảng sản xuất

  4. Cách tiếp cận hiệu quả để điền bảng tạm thời

  5. Giải quyết các hàm toán học PL / SQL