Bạn cần sử dụng VỚI xmlnamespaces
, nếu không "/ clue_personal_auto" không khớp với NAMESPACED clue_personal_auto xmlns="..."
nút.
Không chỉ vậy, bạn thực sự không thể xóa một vùng tên vì nó không phải là một thuộc tính bình thường.
Ví dụ về cách xóa thuộc tính thông thường
declare @xml table (xmlid int, xmldocument xml)
insert @xml select 357, '
<clue_personal_auto xmlns="http://cp.com/rules/client" otherattrib="x">
<admin>
<receipt_date>03/16/2011</receipt_date>
<date_request_ordered>03/16/2011</date_request_ordered>
<report_usage>Personal</report_usage>
</admin>
</clue_personal_auto>'
;WITH XMLNAMESPACES ('http://cp.com/rules/client' as ns)
UPDATE @XML
SET XmlDocument.modify('delete (/ns:clue_personal_auto/@otherattrib)[1]')
WHERE xmlid = 357
select * from @xml