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

Làm cách nào để lấy thẻ xml tự đóng trong Oracle PLSQL?

Nếu bạn chỉ cần thực hiện việc này với "box", thì bạn có thể sử dụng:

SELECT REPLACE(XMLELEMENT( "Consignment", XMLATTRIBUTES('123' AS "id",sysdate AS "date" ),
            XMLELEMENT( "Box", xmlattributes( '321' as "id" ))     
                 ).getstringval(),'></Box>',' />') as xxx FROM DUAL;

Nếu bạn có các thẻ khác cần được xử lý theo cách này, bạn sẽ cần sử dụng REGEXP_REPLACE theo cùng một logic.

Tuy nhiên, về mặt ngữ nghĩa, cả hai biểu mẫu đều đại diện cho cùng một dữ liệu chính xác, đó là lý do tại sao bạn không thể làm những gì bạn muốn một cách "dễ dàng" với một số tham số được cung cấp cho trình tạo XML (và tại sao có thể bạn không nên làm điều đó ngay từ đầu!) .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ghi nhật ký thông báo lỗi trong quy trình được lưu trữ của Oracle

  2. Phiên Oracle là gì?

  3. Các tiêu chí ngủ đông để lấy các bản ghi có năm 2012

  4. Trình điều khiển được quản lý Oracle có thể sử dụng async / await đúng cách không?

  5. Làm cách nào để thực hiện truy vấn này trong oracle