Трябва да използвате С xmlnamespaces
, в противен случай "/clue_personal_auto" не съответства на NAMESPACED clue_personal_auto xmlns="..."
възел.
Не само това, всъщност не можете да премахнете пространство от имена, тъй като то не е нормален атрибут.
Пример за премахване на обикновен атрибут
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