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

Truy vấn các kiểu dữ liệu XML có thuộc tính nút xmlns

Nếu tài liệu XML của bạn có không gian tên XML, thì bạn cần phải xem xét các không gian tên đó trong truy vấn của mình!

Vì vậy, nếu XML của bạn trông giống như mẫu của bạn, thì bạn cần:

-- define the default XML namespace to use
;WITH XMLNAMESPACES(DEFAULT 'bar')
SELECT   
    x.u.value('Name[1]', 'varchar(100)') as Name
from 
    @XMLDOC.nodes('/Feed/Product') x(u)

Hoặc nếu bạn muốn có quyền kiểm soát rõ ràng đối với không gian tên XML nào sẽ sử dụng (ví dụ:nếu bạn có nhiều), hãy sử dụng tiền tố không gian tên XML:

-- define the XML namespace 
;WITH XMLNAMESPACES('bar' as b)
SELECT   
    x.u.value('b:Name[1]', 'varchar(100)') as Name
from 
    @XMLDOC.nodes('/b:Feed/b:Product') x(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. Tìm kiếm nhiều giá trị trong cột xml trong SQL

  2. Cài đặt và cấu hình SQL Server Log Shipping &Disaster Recovery -4

  3. Lỗi khi sửa đổi DAL, System.ArgumentException, một mục nhập có cùng khóa đã tồn tại

  4. Nhật ký giao dịch SQL Server - Phần 1

  5. SQL Server 2016:Tạo một dạng xem